Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/370.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何检查int是否包含字母_Java_Arrays - Fatal编程技术网

Java 如何检查int是否包含字母

Java 如何检查int是否包含字母,java,arrays,Java,Arrays,我试图通过错误检查来验证我的代码。我想确保人们输入的整数不包含一个或多个字母。 这是我的密码。我应该用一维数组来解决这个问题。我让代码正常工作,但在添加错误签入时遇到问题。 任何帮助都将不胜感激。谢谢 public void getNumbers() { Scanner keyboard = new Scanner(System.in); int array[] = new int[5]; int count = 0; int entered = 0;

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

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();

    }
}
public void getNumbers(){
扫描仪键盘=新扫描仪(System.in);
int数组[]=新的int[5];
整数计数=0;
输入的int=0;
int k=-1;
while(输入keyboard.nextInt()
将抛出一个
InputMismatchException

如果要检查
扫描仪
是否有整数可读取,可以使用
键盘.hasNextInt()

或者,您可以将输入读取为
String s=keyboard.next()
将输入作为字符串,然后使用
s.matches(“.*\\d+.”)
检测它是否为整数

更新:回答问题-
keyboard.hasNextInt()
将返回一个布尔值。因此,例如,在
System.out.print(“输入一个数字”)
之后,您可以使用
if
语句检查
keyboard
是否可以接收数字输入,即
if(keyboard.hasNextInt)
。如果这是真的,则表示用户输入了数字输入,您可以继续说
int number=keyboard.nextInt()
。如果为假,您将知道用户输入的是非数字。

键盘。如果输入字符串,nextInt()
将抛出
输入不匹配异常

如果要检查
扫描仪
是否有整数可读取,可以使用
键盘.hasNextInt()

或者,您可以将输入读取为
String s=keyboard.next()
将输入作为字符串,然后使用
s.matches(“.*\\d+.”)
检测它是否为整数

更新:回答问题-
keyboard.hasNextInt()
将返回一个布尔值。因此,例如,在
System.out.print(“输入一个数字”)
之后,您可以使用
if
语句检查
keyboard
是否可以接收数字输入,即
if(keyboard.hasNextInt)
。如果这是真的,则表示用户已输入数字输入,您可以继续说
int number=keyboard.nextInt()
。如果为false,您将知道用户输入是非数字的。

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

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

因为
hasnetint()
返回一个布尔值,确定输入是否为整数,程序将永远不会离开while循环,直到程序确认用户输入了整数。

我假设如果用户第一次没有输入数字,您希望您的程序要求用户重新输入数字。在这种情况下,您将无法我想尝试以下几点:

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

由于
hasnetint()
返回一个确定输入是否为整数的布尔值,程序将永远不会离开while循环,直到程序能够确认用户输入了整数。

如果输入了非整数,nextint()不是吗抛出inputmismatchexception?您的代码宁愿检查值是否已输入是的,它抛出异常。我想我的导师不希望我有异常。我班上的另一个人说,他使用HasNextInCount=0使其正常工作;您的循环将永远不会执行;您只需在读取循环时捕获inputmismatchexception输入值您的讲师不希望您有未捕获的异常?或者您的讲师根本不希望您使用异常?为
NumberFormatException
编写一个处理程序(即
catch
子句),告诉用户,“无效的数字,请重试”这是处理无效输入的一种非常正常的方式。如果输入了非整数,nextint()不是吗抛出inputmismatchexception?您的代码宁愿检查值是否已输入是的,它抛出异常。我想我的导师不希望我有异常。我班上的另一个人说,他使用HasNextInCount=0使其正常工作;您的循环将永远不会执行;您只需在读取循环时捕获inputmismatchexception输入值您的讲师不希望您有未捕获的异常?或者您的讲师根本不希望您使用异常?为
NumberFormatException
编写一个处理程序(即
catch
子句),告诉用户,“无效的数字,请重试”这是处理无效输入的一种非常正常的方式。我很难将键盘。hasNextInt()放入我的代码中。我是否做了if语句?@Stepsie94我编辑了我的答案(希望)解决了这个问题。我很难将键盘。hasNextInt()放入我的代码中。我是否做了if语句?@Stepsie94我编辑了我的答案(希望)解决这个问题。