Java字符选项窗格

Java字符选项窗格,java,joptionpane,Java,Joptionpane,我在做一个基本的计算器,我弄不清楚如何让这个做一个do-while循环,让它再次执行。有什么建议吗?我刚刚开始学习Java,所以我是个初学者。我只在“你想再试一次吗”部分遇到了麻烦。对于字符数据类型是否有类似于Integer.parseInt的字符解析?还是字符串数据类型?多谢各位 public static void main(String[] args) { Calc2 op = new Calc2(); Scanner scan = new Scanner(System.

我在做一个基本的计算器,我弄不清楚如何让这个做一个do-while循环,让它再次执行。有什么建议吗?我刚刚开始学习Java,所以我是个初学者。我只在“你想再试一次吗”部分遇到了麻烦。对于字符数据类型是否有类似于
Integer.parseInt
的字符解析?还是字符串数据类型?多谢各位

public static void main(String[] args) {

    Calc2 op = new Calc2();
    Scanner scan = new Scanner(System.in);
    char ans = 0;
    do {
        String c = JOptionPane.showInputDialog("Calculator\n" + "1.Addition\n" + "2.Subtraction\n" + "3.Multiplication\n" + "4.Division\n");
        int n1 = Integer.parseInt(c);

        switch (n1) {
            case 1:
                op.add();
                break;
            case 2:
                op.diff();
                break;
            case 3:
                op.prod();
                break;
            case 4:
                op.quo();
                break;
            default:
                JOptionPane.showMessageDialog(null, "Invalid Input", "Calculator", JOptionPane.PLAIN_MESSAGE);

                break;
        }

        String s1 = JOptionPane.showInputDialog("Try again? [Y/N]");
        int a = Integer.parseInt(s1);

    } while (ans == 'y' || ans == 'Y');
}

您不需要分析字符,应该删除:

int a = Integer.parseInt(s1);
并更改以下行:

} while (ans == 'y' || ans == 'Y');
致:

并删除不必要的线路:

Scanner scan = new Scanner(System.in);
char ans = 0;
Scanner scan = new Scanner(System.in);
char ans = 0;