我正在用java创建一个小程序,它要求用户输入5个整数并放入一个数组

我正在用java创建一个小程序,它要求用户输入5个整数并放入一个数组,java,arrays,validation,Java,Arrays,Validation,这是我尝试过的代码,我可以将5个整数放入数组中,但我的问题是验证该输入,并在输入不正确时给出错误消息。如果我输入5个整数,它们在所需的范围内,它就工作了,当我输入一个不在所需范围内的数字时,我会得到一条我想要的错误消息,但是如果我输入一个符号或字母,我的程序就会崩溃 import java.util.Scanner; public class QuestionNr1 { public static void main(String[] args) { //Keyboa

这是我尝试过的代码,我可以将5个整数放入数组中,但我的问题是验证该输入,并在输入不正确时给出错误消息。如果我输入5个整数,它们在所需的范围内,它就工作了,当我输入一个不在所需范围内的数字时,我会得到一条我想要的错误消息,但是如果我输入一个符号或字母,我的程序就会崩溃

import java.util.Scanner;

public class QuestionNr1 {

    public static void main(String[] args) {
        //Keyboard Initialization
        Scanner scanner = new Scanner(System.in);

        //Declare an array to hold 5 integers values
        int list[] = new int[5];
        int i = 0;
        int sum = 0;

        System.out.println("Please enter 5 numbers within the range 1 - 20, with 1 being the lowest and 20 being the highest.");
        while (i < 5) {
            //Fill the array with integers from the keyboard (range: 0 to 20).
            int value = scanner.nextInt();
            if (value >= 0 && value <= 20) {
                list[i] = value;
                i++;
            } else {
                System.out.println("Invalid input, please enter a number with the required range of 1 - 20.");
            }
        }
        for (int j = 0; j < list.length; j++) {
            int value = list[j];
        }

        double average = 0;
        for (int i1 = 0; i1 < list.length; i1++) {
            sum = sum + list[i1];
        }
        System.out.print("The sum total of your five entered numbers = " + sum);
    }
}
import java.util.Scanner;
公开课问题1{
公共静态void main(字符串[]args){
//键盘初始化
扫描仪=新的扫描仪(System.in);
//声明一个数组以保存5个整数值
整数列表[]=新整数[5];
int i=0;
整数和=0;
System.out.println(“请输入1-20范围内的5个数字,其中1是最低的,20是最高的。”);
而(i<5){
//用键盘上的整数(范围:0到20)填充数组。
int value=scanner.nextInt();

如果(value>=0&&value,则应检查用户在假设前是否插入int(
scanner.nextInt();
)。

应检查用户在假设前是否插入int(
scanner.nextInt();
)。

应检查用户在假设前是否插入int(
scanner.nextInt();
).

您应该检查用户是否插入了一个int,然后再假设(
scanner.nextInt();
)。

您使用的是
scanner.nextInt();
,因此输入的文本应该是
int
,如果您输入其他,则
int
它将抛出
异常
您正在使用的是
scanner.nextInt()
因此,输入的文本应该是
int
,如果您输入其他,则
int
它将抛出
异常

您正在使用的
scanner.nextInt()
因此,输入的文本应该是
int
,如果您输入其他,则
int
它将抛出
异常

您正在使用的
scanner.nextInt()所以输入的文本应该是
int
,如果输入other然后
int
,它将抛出
异常

,我将使用scanner.nextLine()然后尝试使用NumberFormatException检查将字符串转换为int:

//Fill the array with integers from the keyboard (range: 0 to 20).
int value = Integer.MIN_VALUE;
if (scanner.hasNextInt()) int value = scanner.nextInt();
else System.out.println("Please make sure the value you entered is an integer.");
int value;
String input = scanner.nextLine();
try {
    value = Integer.valueOf(input);
} catch (NumberFormatException ex) {
    System.out.println("Number format exception");
    continue;
}
if (value >= 0 && value <= 20)
...
int值;
字符串输入=scanner.nextLine();
试一试{
value=整数。valueOf(输入);
}捕获(NumberFormatException ex){
System.out.println(“数字格式异常”);
继续;
}

如果(value>=0&&value,我将使用scanner.nextLine(),然后尝试使用NumberFormatException检查将字符串转换为int:

int value;
String input = scanner.nextLine();
try {
    value = Integer.valueOf(input);
} catch (NumberFormatException ex) {
    System.out.println("Number format exception");
    continue;
}
if (value >= 0 && value <= 20)
...
int值;
字符串输入=scanner.nextLine();
试一试{
value=整数。valueOf(输入);
}捕获(NumberFormatException ex){
System.out.println(“数字格式异常”);
继续;
}

如果(value>=0&&value,我将使用scanner.nextLine(),然后尝试使用NumberFormatException检查将字符串转换为int:

int value;
String input = scanner.nextLine();
try {
    value = Integer.valueOf(input);
} catch (NumberFormatException ex) {
    System.out.println("Number format exception");
    continue;
}
if (value >= 0 && value <= 20)
...
int值;
字符串输入=scanner.nextLine();
试一试{
value=整数。valueOf(输入);
}捕获(NumberFormatException ex){
System.out.println(“数字格式异常”);
继续;
}

如果(value>=0&&value,我将使用scanner.nextLine(),然后尝试使用NumberFormatException检查将字符串转换为int:

int value;
String input = scanner.nextLine();
try {
    value = Integer.valueOf(input);
} catch (NumberFormatException ex) {
    System.out.println("Number format exception");
    continue;
}
if (value >= 0 && value <= 20)
...
int值;
字符串输入=scanner.nextLine();
试一试{
value=整数。valueOf(输入);
}捕获(NumberFormatException ex){
System.out.println(“数字格式异常”);
继续;
}

如果(值>=0&&value如果您在DCU中对C2纸张执行Q1,那么它将是最后显示的总和,而不是平均值。我将在扫描仪后添加另一个While循环。nextint()测试输入是否为有效整数。3次验证将是一个整数,是否在范围内,要输入到数组的整数数为5。我的想法与您非常相似,它添加了额外的检查,并在序列中显示位置。

如果您在DCU中对C2纸张进行Q1验证,则其显示的总数要大于您显示的总数结尾不是平均值。我打算在scanner.nextint()之后添加另一个While循环测试输入是否为有效整数。3次验证将是一个整数,是否在范围内,要输入到数组的整数数为5。我的想法与您非常相似,它添加了额外的检查,并在序列中显示位置。

如果您在DCU中对C2纸张进行Q1验证,则其显示的总数要大于您显示的总数结尾不是平均值。我打算在scanner.nextint()之后添加另一个While循环测试输入是否为有效整数。3次验证将是一个整数,是否在范围内,要输入到数组的整数数为5。我的想法与您非常相似,它添加了额外的检查,并在序列中显示位置。

如果您在DCU中对C2纸张进行Q1验证,则其显示的总数要大于您显示的总数结尾不是平均值。我打算在scanner.nextint()之后添加另一个While循环测试输入是否为有效整数。3次验证将是一个整数,它是否在范围内,并且要输入到数组中的整数的数量是5。我的想法与您非常相似,它添加了额外的检查,并在序列中显示了位置。

“我的程序崩溃”。错误消息是什么?抱歉,我的循环从未结束,我必须关闭eclipse以使其停止“我的程序崩溃”。错误消息是什么?抱歉,我的循环从未结束,我必须关闭eclipse以使其停止“我的程序崩溃”。错误消息是什么?抱歉,我的循环从未结束,我必须关闭eclipse以使其停止“我的程序崩溃”。错误消息是什么?抱歉,我的循环从未结束,我必须关闭eclipse以使其停止。这不是检查