Моя Java-программа не пройдет через оператор If - PullRequest
0 голосов
/ 17 марта 2019

Мой код не будет обрабатывать никакие цифры или буквы, кроме Q и q. Вы должны ввести целое число от 1 до 20 или Q или q, чтобы выйти, но оно ничего не делает, когда вводится число от 1 до 20, и не будет отображать недопустимое входное сообщение, когда это число помимо Q или q. Пожалуйста, помогите быстро.

      String x;
       long y=1;
       int newint=0;
       int stop=0;
       Scanner newscan=new Scanner (System.in);
    System.out.println("Enter an integer between 1 and 20 or Q or q to 
quit:") ;
    x=newscan.nextLine();
  while (stop==0) 
  if (x.compareTo("Q")==0||x.compareTo("q")==0)
  return;


  if (x.compareTo("0")>0 && x.compareTo(";")<0)

    {newint=Integer.parseInt(x);
  if(newint>=1 && newint<=20)
     {y=1;
     while(newint>1)
     {y=newint*y;
     newint=newint-1;}
     System.out.println("The Factorial is "+y);}
      System.out.println("Enter an integer between 1 and 20 or Q or q to 
quit:") ;
        x=newscan.nextLine(); }

     else 
     { System.out.println("Invalid input");
      System.out.println("Enter an integer between 1 and 20 or Q or q to 
quit:") ;
        x=newscan.nextLine(); }
...