更多麻烦'do while'循环,Java

Mar*_*cos 1 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);
Run Code Online (Sandbox Code Playgroud)

任何帮助,将不胜感激.

Nim*_*Nim 7

这是你的问题:

while (exit = false);
Run Code Online (Sandbox Code Playgroud)

仔细...


Sér*_*els 5

您正在检查logIn变量但应该是正确的变量options.更改:

while (logIn < 1 || logIn > 4)
Run Code Online (Sandbox Code Playgroud)

至:

while (options < 1 || options > 4)
Run Code Online (Sandbox Code Playgroud)

另外,while (exit = false)(尝试的分配)必须是while (exit == false)(比较),或者甚至更好,while (!exit)

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