Последовательность цикла останавливается - PullRequest
1 голос
/ 02 октября 2019

Я поместил код в цикл do-while. Он спрашивает пользователя, какой пункт меню он хочет, и вычисляет уравнение для него. Предполагается, что код будет продолжаться до тех пор, пока пользователь не нажмет 4, что является опцией выхода, но останавливается после одной последовательности. Я не знаю, что мне нужно изменить или добавить, чтобы оно продолжалось.

import java.util.Scanner;
import java.text.DecimalFormat;
class Lab5
{
    public static void main(String[] args) //header of the main method
    {
     Scanner in = new Scanner(System.in);

     int choice;
     int rem = 0;
     int num;

     do
   {
         //user prompt
     System.out.print("Choose from the following menu\n1)   Calculate the sum of integers 1 to m\n2)    Factorial of a number\n3)   Repeat the first number\n4) Quit\n:");
     choice = in.nextInt();




     switch(choice)
     {
         case 1:
         int m, sum =0;
         int i = 1;
         System.out.print("Enter the number:");
         m = in.nextInt();
         while (i <= m)
         {
             sum=sum+i;
             i++;
}
            System.out.print("The sum of:" + m + ' ' + "is" + ' ' + sum);
         break;


         case 2:
         int number, fact =1;
         System.out.print("Enter the number:");
         number = in.nextInt();
         i=1;

         for (int factor = 2; factor <= number; factor++)
         {
             fact = fact*factor;
}
         System.out.print("The Factorial of +:" + number + ' ' + "is" + ' ' + fact);
                 break;
         case 3:

         System.out.print("Enter the number:");
         num = in.nextInt();


        while(num!=0)
        {
            rem = num%10;
            num = num/10;
        }
     System.out.print("The leftmost digit is:" + rem);
                 break;

         default:
                 break;
}


    } while (choice == '4');
    System.out.print(" ");





  }
}

1 Ответ

2 голосов
/ 02 октября 2019

Вы написали это как do ... while ( choice == '4' ), что означает, что оно будет продолжаться , если пользователь введет 4.

Звучит так, как вы хотите choice != '4'.

...