gpt4 book ai didi

Java System.out.println 打印 20 次

转载 作者:行者123 更新时间:2023-12-02 06:44:14 25 4
gpt4 key购买 nike

import java.util.*;

public class ArrayExample {

public static void main(String[] args) {
Scanner keyboard = new Scanner(System.in);
boolean done = false;
while (!done) {

try {
System.out.println("Please enter the size of the array:");
String input = keyboard.next();

int size = new Integer(input).intValue();
int numbers[] = new int[size];

for (int i = 0; i < 20; i++) {
numbers[i] = i;
done = true;
System.out.println("Good.");
}
} catch (NumberFormatException ex) {
System.out.println("NumberFormatException Error. Please enter a integer.");
} catch (ArrayIndexOutOfBoundsException ex) {
System.out.println("ArrayIndexOutOfBoundsException Error. Please enter 20 or higher.");
} catch (NegativeArraySizeException ex) {
System.out.println("NegativeArraySizeException Error. Please do not enter a negative.");
}
}
}
}

当我运行该程序时,它无法正常运行。除非我输入 20 或更高的整数,否则它应该引发异常。然而,它打印出“Good”。如果我输入一个低于 20 的数字。因此,如果我输入 19,它将打印“Good”。 19次。如果我输入 3,它将打印“Good”。 3次。我只想让它打印“好”。如果我输入 20 或更高。如果不是,它应该继续循环异常。

最佳答案

您不需要ArrayIndexOutOfBoundException

for (int i = 0; i < size; i++) // < --- use (size) instead of constant 20 value
{
System.out.println("Good.");
}

还添加 finally block done = true;

}  
finally
{
done = true;
}

这将防止无限循环抛出异常。
还要在程序开头添加验证:

int size = new Integer(input).intValue(); 
if (size >= 20)
{
throw new IllegalArgumentException("Number more then 19");
}

关于Java System.out.println 打印 20 次,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18815038/

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