有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

我的Java JOptionPane没有继续到下一个窗口?

好的,我正在尝试使用JOptionPane方法创建一个非常简单的java计算器,这主要是一个实验,但回到问题上来。为什么当我的第一个JOptionPane窗口出现时,它不会继续显示第二个窗口,该窗口应显示“输入操作员”?感谢您的帮助!谢谢

import javax.swing.JOptionPane;
import java.util.*;
public class Calculator {
    double a1, a2;
    char b1;
    public void Cal() {
        Scanner scan = new Scanner(System.in);
        Scanner in = new Scanner(System.in);
        JOptionPane.showInputDialog("Enter Ur First Number ");
        a1 = scan.nextInt();
        JOptionPane.showInputDialog("Enter an Operator");
        b1 = in.next().charAt(0);
        if (b1 == '-' || b1 == '+' || b1 == '*' || b1 == '/') {

        }
        else  {
            System.out.println("Invalid Input");
        }
        JOptionPane.showInputDialog("Enter Ur Second Number");
        a2 = scan.nextInt();
        JOptionPane.showMessageDialog(null, a1 + b1 + a2);
    }

 }

共 (1) 个答案

  1. # 1 楼答案

    此行a1 = scan.nextInt();需要来自命令行的一些输入。除非您在命令行中输入任何内容,否则程序将阻塞

    将图形UI元素(即JOptionPane)与非GUI元素(即Scanner)混合使用不是一个好主意

    对于命令行版本,使用System.out.println作为用户的输出,Scanner作为输入(就像您已经做的那样)。对于Swing版本,使用完整的GUI方法,例如使用javax.swing.JWindowJOptionPane实际上只是用于从图形上下文(如窗口或框架)中弹出选项。在您的示例中,没有图形上下文