更多麻烦'做什么'循环,Java

时间:2012-02-09 01:05:18

标签: java

在决定有目的地退出程序之前,如何让我的程序提示用户做出不同的选择?现在我尝试了一个带有一个名为'exit'的布尔值的do-while循环,试图说当exit是false时,继续提示用户选择要做什么,尽管它所做的只是询问它们一次,然后它就完成了用户需要,应用程序停止。

这是我的代码:

boolean exit = false;

do {
  int options = 0;
  do {
    options = Integer.parseInt(JOptionPane.showInputDialog(null,
              "Would you like to:"
              + "\n(Enter number value of option you would like to choose.)\n"
              + "\n1. See your recommendations. \n2. See top rated books."
              + "\n3. See random books of the day. \n4. Exit"));
  } while (logIn < 1 || logIn > 4);

  if (options == 1) {
    recommend.displayRecommendations(custIndex);
  } else if (options == 2) {
    calculations.displayTopTen();
  } else if (options == 3) {
    calculations.displayRandomBooks();
  } else if (options == 4) {
    exit = true;
    System.exit(0);
  }
} while (exit = false);

任何帮助都将不胜感激。

2 个答案:

答案 0 :(得分:7)

这是你的问题:

while (exit = false);

仔细看非常 ......

答案 1 :(得分:5)

您正在检查logIn变量,但正确的变量应为options。变化:

while (logIn < 1 || logIn > 4)

为:

while (options < 1 || options > 4)

此外,while (exit = false)(尝试转让)必须为while (exit == false)(比较),或者更好,while (!exit)

而且,最后,虽然这并不重要,但在调用exit = true之前立即设置System.exit()有点多余。