Java 使用showInputDialog获取用户输入以退出程序

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

我试图使用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 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并使用自定义按钮呢?这是一项作业,我的教授希望用户输入他们的选择。