gpt4 book ai didi

java - 使用 try/catch 将数字存储到用户定义的数组中,并在最后一个数组索引中继续

转载 作者:行者123 更新时间:2023-12-02 09:41:35 25 4
gpt4 key购买 nike

我正在尝试编写一个程序,询问用户数组大小的数字,并与用户交互以添加数字。如果输入不是数字,我想要一个显示“无效数字”的 try/catch。

我已经完成了初始步骤,该步骤卡在“输入数字 1”中,如下代码所示:

public static double[] numbersArray (int size) {

Scanner sc = new Scanner(System.in);
double[] arr = new double[size];

for (int i=0; i<arr.length; i++) {
while(true) {
System.out.println("Enter a number "+(i+1));
String input = sc.next();
int inputValue = 0;
try {
inputValue = Integer.parseInt(input);
arr[i] = inputValue;
} catch (NumberFormatException e) {
System.out.println("Invalid number");
}
}


}
return arr;
}

public static void main(String[] args) {

int size = 4;

double[] arr = numbersArray(size);


System.out.println(arr);

}

我得到的输出:

How many numbers to enter?
3
Enter a number 1
1
Enter a number 1
2
Enter a number 1
3
Enter a number 1
4
Enter a number 1

当我想要的时候:

How many numbers to enter?
3
Enter a number 1
1
Enter a number 2
2
Enter a number 3
3
[1.0, 2.0, 3.0]

有什么线索我失败了吗?

最佳答案

当你得到你想要的值时跳出内循环

while(true) {
System.out.println("Enter a number "+(i+1));
String input = sc.next();
int inputValue = 0;
try {
inputValue = Integer.parseInt(input);
arr[i] = inputValue;
break; // <-- here
} catch (NumberFormatException e) {
System.out.println("Invalid number");
}
}

关于java - 使用 try/catch 将数字存储到用户定义的数组中,并在最后一个数组索引中继续,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57030573/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com