扫描仪和JOptionPane不能一起正常工作

时间:2018-10-06 09:38:38

标签: java java.util.scanner joptionpane

我有一个Scanner,我要从控制台获取星期几,然后我想以JOptionPane.showMessageDialog方法显示日期,但它不起作用。

public class TestClass {

   public static void main(String[] args) {
        Scanner scan = new Scanner(System.in);

        String day = scan.nextLine();

        JOptionPane.showMessageDialog(null, day);
   }
}

怎么了?

提前谢谢。

my codes and output

2 个答案:

答案 0 :(得分:3)

不确定是否有帮助,但是我发现您的代码没有问题。分享我的尝试,也许可以帮助您调试问题。

package simple.concepts.com;

import java.util.Scanner;

import javax.swing.JOptionPane;

public class Test {
    public static void main(String[] args) {
        Scanner scan = new Scanner(System.in);

        System.out.println("Enter day");
        String day = scan.nextLine();

        JOptionPane.showMessageDialog(null, day);
        scan.close();
    }
}

输入时:

  

输入日期:星期一

(按Enter键)

您应该会看到带有“星期一”的弹出窗口

编辑:

尝试使用管理权限运行Eclipse。重新启动并再次运行。还要运行一次该程序并将所有窗口最小化,您应该会看到它。除非您关闭弹出窗口,否则它会不断接受输入。

答案 1 :(得分:1)

作为一个临时解决方案,您可以创建一个JFrame并使用该框架作为其父组件来调用JOptionpane。

import javax.swing.*
// Other imp code
JFrame m = new JFrame();
JOptionpane.showMessageDialog(m,day);