java - 如何在java程序中拒绝字符/字母

标签 java printf invalid-characters

当程序要求用户输入10个元素(数字),但用户输入了任何字母或单词时,我希望程序显示“INVALID INPUT”。我尝试了 if 语句,但它不起作用。非常感谢任何帮助!

enter image description here

这是我的代码:

        int [] Array = new int[10];
        int index;

        Scanner input = new Scanner(System.in);

            System.out.println("Enter 10 elements:");

            for (int i = 0; i < 10; i++) {
                Array[i] = input.nextInt();
            }

        System.out.print("Enter an index you want to retrieve: ");
        index = input.nextInt();

        System.out.print("Element at index "+index+" is " + Array[index]);
    }
}

最佳答案

您可以使用 try-catch 并捕获 InputMismatchException,然后您可以在其中进行相应的处理。

像这样:

    try{
       int [] Array = new int[10];
        int index;
        Scanner input = new Scanner(System.in);
        System.out.println("Enter 10 elements:");
        for (int i = 0; i < 10; i++) {
            Array[i] = input.nextInt();
        }
        System.out.print("Enter an index you want to retrieve: ");
        index = input.nextInt();
        System.out.print("Element at index "+index+" is " + Array[index]);
    }catch(InputMismatchException e){
        System.out.println("INVALID INPUT");
    }

例如,当我输入:

spectric is not cool

我得到:

INVALID INPUT

因为光谱很酷

关于java - 如何在java程序中拒绝字符/字母,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64056136/

相关文章:

java - 将数字加在一起

c++ - sprintf 为空字符字符串时的预期行为

C# 清理文件名

c++ - cin.clear() 不重置 cin 对象

java - 提供服务器中生成并存储在内存中的 zip 文件

java - 在Scala内置的类文件上运行Java源注释处理

c - printf 打印 %d 说明符的字符而不是数字

c# - 在 monogame 中调试

character-encoding - 为什么使用 ExecuteGlobal 导入 .vbs 函数库文件时,VBScript 会显示 "Invalid Character"?

java - 如何使用带有 Java 的 Selenium WebDriver 切换到另一个选项卡