java - 如何检查 int 是否包含字母

标签 java arrays

我正在尝试通过错误检查来验证我的代码。我想确保人们输入的整数不包含字母或更多。 这是我的代码。我应该使用一维数组来解决这个问题。我的代码可以正常工作,但在添加错误检查时遇到问题。 任何帮助,将不胜感激。谢谢

public void getNumbers() {
    Scanner keyboard = new Scanner(System.in);

    int array[] = new int[5];
    int count = 0;
    int entered = 0;
    int k = -1;

    while (entered < array.length) {

        System.out.print("Enter a number ");
        int number = keyboard.nextInt();

        if (10 <= number && number <= 100) {

            boolean containsNumber = false;

            entered++;

            for (int i = 0; i < count; i++) {
                if (number == array[i]) // i Or j
                {
                    containsNumber = true;
                }
            }
            if (!containsNumber) {
                array[count] = number;
                count++;
            } else {
                System.out.println(number + " has already been entered");
            }
        } else {
            System.out.println("number must be between 10 and 100");
        }

        //what does %d do?
        for (int j = 0; j < count; j++) {
            System.out.printf("%d ", array[j]);
        }
        System.out.println();

    }
}

}

最佳答案

我假设您希望您的程序在用户第一次未输入数字时要求用户重新输入数字。在这种情况下,您可能想尝试以下方法:

Scanner sc = new Scanner(System.in);
System.out.println("Enter a number: ");
while(!sc.hasNextInt()) {
    //print some error statement
    sc.nextLine(); 
}
int number = sc.nextInt();
System.out.println("Number is: " + number); // to show the value of number
// continue using number however you wish

由于 hasNextInt() 返回一个 boolean 值来确定输入是否为整数,因此程序将永远不会离开 while 循环,直到程序确认用户已输入整数。

关于java - 如何检查 int 是否包含字母,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38980195/

相关文章:

java - 在 Java 上格式化日期

java - 如何彻底删除Java? (错误 : could not open `C:\Program Files\Java\jre6\lib\i386\jvm.cfg' )

c - 如何将一行整数拆分为数组?

arrays - 如何在 PostgreSQL 中循环二维数组

javascript - 数组名称可以被视为变量吗

javascript - React-Native 渲染多个图像

java - 下载 cookie 以发出新的 GET 请求

java - JFileChooser 与 JDialog 与 FileDialog

不需要无参数构造函数和 Serializable 实现的 Java 序列化库

c - 为什么数组中的点头被认为是 'nod' 而不是 'struct nod' ?