java - 内部开关无法接受用户输入

标签 java intellij-idea switch-statement

System.out.print("Please Select an Option...");
            selected = (char) System.in.read();
        }
    while (selected < '1' || selected > '5'); // || => OR
    //System.out.println("\n");

    switch (selected)
    {
        case '1':
            System.out.println("$: 6.08₺");
            System.out.println("€: 6.88₺");
            System.out.println("Gram Gold: 327₺");
            System.out.println("Bitcoin/TL: 57.462₺");
            System.out.println("Ripple/TL: 1.42₺");
            break;
        case '2':
            System.out.print("Select Your Bank Account...");
            **selectBankAccNum = (char) System.in.read();**
            System.out.println(selectBankAccNum + " sd");

当外部开关盒为2时,我的程序打印Select your...part,但它不等待用户输入,并完成运行。

最佳答案

您正在寻找的是 Scanner#next(),而不是 System.in#read()。您需要使用InputStream 创建Scanner 对象,在本例中为System.in,因为它是实现InputStream 的实现PrintStream。

Scanner scanner = new Scanner(System.in);

System.out.print("Please Select an Option...");

int selected = scanner.nextInt();

switch(selected) {
    case 1: 
        //your code
    break;

    case 2:
        System.out.print("Select Your Bank Account...");

        int account = scanner.nextInt();
    break;

}

关于java - 内部开关无法接受用户输入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60589090/

相关文章:

java - 如何删除 Android 开发的 Eclipse/bin/dexedLibs 文件夹中出现的重复库?

intellij-idea - 错误 :java. lang.RuntimeException : com. intellij.util.io.PersistentEnumeratorBase$CorruptedException:

c - 使用 C30 和 MPLAB X 的 switch 语句的奇怪行为

c# - 在 switch-case 条件中编写 switch-case 条件的可能性?

c# - 我可以在 switch 语句中使用变量吗?

java - 使用 GSON 将 JSONArray 设置为 POJO 类中的字符串

java - 最终变量值

java - jax-ws Web 服务层到基于 hibernate 的数据提供程序

java - Intellij IDEA 2018.2 无法识别 JDK 10 的 JavaFX 包

java - Intellij - war 部署时 zip 文件为空