Java 使用showInputDialog获取用户输入以退出程序
我试图使用showInputDialog让用户在退出程序时输入N或N。我使用的是do-while循环,我认为我的逻辑是错误的。当我输入N或N时,程序将继续在循环中运行 下面是我的代码:Java 使用showInputDialog获取用户输入以退出程序,java,joptionpane,showdialog,Java,Joptionpane,Showdialog,我试图使用showInputDialog让用户在退出程序时输入N或N。我使用的是do-while循环,我认为我的逻辑是错误的。当我输入N或N时,程序将继续在循环中运行 下面是我的代码: public static void main(String args[]) { MyClass app = new MyClass(); String quit; // get user input until they quit do { boolean va
public static void main(String args[]) {
MyClass app = new MyClass();
String quit;
// get user input until they quit
do {
boolean validEntry1 = false;
do {
String userEntry;
double num1;
// check for valid numerical entry and catch invalid entries
try {
userEntry = JOptionPane
.showInputDialog("Enter number 1");
num1 = Double.parseDouble(userEntry);
app.setNumberOne(num1);
validEntry1 = true;
} catch (NumberFormatException e) {
JOptionPane.showMessageDialog(null,
"Please enter a valid number");
}
} while (!validEntry1);
// gets user input for number 2
boolean validEntry2 = false;
do {
String userEntry1;
double num2;
// check for valid numerical input for num2
try {
userEntry1 = JOptionPane
.showInputDialog("Enter number 2");
num2 = Double.parseDouble(userEntry1);
app.setNumberTwo(num2);
validEntry2 = true;
} catch (NumberFormatException e) {
JOptionPane.showMessageDialog(null,
"Please enter a valid number");
}
} while (!validEntry2);
//this method gives the result of a multiplying num1 and num2
app.output();
// prompt user to continue
quit = JOptionPane
.showInputDialog("Enter N or n to quit. Enter any other key to continue.");
} while (quit != "N" || quit != "n"); //this is where I am having issues, It continues to loop regardless of what I enter.
}// end of main
对我的错误有什么建议吗
是否有更好的方法让用户输入在gui中退出?退出是一个字符串,您应该使用.equalsIgnoreCase进行比较
试着这样做:
while (!quit.equalsIgnoreCase("n"));
字符串是对象,因此它们使用equals方法进行比较,或者在本例中,您可以对这两种情况使用equalsIgnoreCase。quit!=这不是Java中字符串比较的方式。为什么不使用JOptionPane.showOptionDialog并使用自定义按钮呢?这是一项作业,我的教授希望用户输入他们的选择。