嵌套循环,具有 Y/N 以继续输入



我试图通过在循环结束时选择 Y 或 N 来询问用户是否要继续。 如果他们选择 Y,它应该重新启动整个程序,如果 N 那么它应该结束。 当我尝试做一段时间时,我不断收到错误。

import javax.swing.JOptionPane;
public class killmenow2
{
  static int killmenow2;
  public static void main (String args[])
  {
String stringFirstNum, stringNextNum, choice;
final String restart = 0;
double firstNum, numNums = 0, total, accumTotal = 0, average, nextNum;
do
{ 
//user enters first number
    stringFirstNum = JOptionPane.showInputDialog("Enter the first number: ");
    firstNum = Double.parseDouble(stringFirstNum);    //convert string to int
``//Initialize accumulator variable to 0
        for(numNums = 0; numNums>0; numNums++)
           accumTotal = 0;
    {
//user enters next number, begins loop which terminates when user enters "0"
   nextNum = 1;
   numNums = numNums++;
      while (nextNum != 0)
      {
      stringNextNum = JOptionPane.showInputDialog("Enter the next number: ");
      nextNum = Double.parseDouble(stringNextNum);  //convert string to int
      accumTotal += nextNum;
            numNums++;
      }
    }
//Accumulate total of next numbers
      total = accumTotal + firstNum;
      System.out.println("The total of your numbers is: " + total);
//calculate average of numbers   
        average = total / numNums;   
        System.out.println("The average of your numbers is: " + average);
        System.out.println("numnums is " + numNums); 
//user inputs if they would like to continue processing numbers
        System.out.println("Would you like to continue processing numbers? (Y/N)");
        if (choice.equals("Y"))
          restart = 0;
        else restart = 1;
    } //do loop close bracket
  while (restart < 0);
          System.out.println("Goodbye");
        System.exit (0);
    }        
    }
final String restart = 0;

这是非法代码

这也是

while (restart < 0);

Stringint不同

尝试使用像 eclipse 这样的 IDE 并读取错误

final String restart = 0;

删除final关键字。然后将声明更改为

boolean restart = true;

然后更改逻辑条件

do {
    ...
    System.out.println("Would you like to continue processing numbers? (Y/N)");
***** ADD CODE HERE TO READ THE RESPONSE *****  
    if (choice.equals("Y"))
      restart = true;
    else 
      restart = false;
} while (restart);

甚至更好:

do {
    ...
    System.out.println("Would you like to continue processing numbers? (Y/N)");
***** ADD CODE HERE TO READ THE RESPONSE *****  
} while (choice.equalsIgnoreCase("Y"));

相关内容

最新更新