gpt4 book ai didi

java - 非法参数异常 : n must be positive

转载 作者:行者123 更新时间:2023-12-02 07:01:56 25 4
gpt4 key购买 nike

主类:

public class ECONAPP2 {
static Scanner input= new Scanner(System.in);
static int score = 0;
static ArrayList<Integer> usedArray = new ArrayList<Integer>();

public static void main(String[] args){
app();
arrayContents();
}

public static void arrayContents() {
usedArray.add(2);
usedArray.add(1);
}

app() 方法:

public static void app() {
Random generator = new Random ();
int randomNumber = generator.nextInt(usedArray.size());
System.out.println(randomNumber);
if (randomNumber == 2) {
score();
question2();
usedArray.remove(2);
app();
}
if (randomNumber == 1) {
score();
question1();
usedArray.remove(1);
app();
}

出现此错误:

Exception in thread "main" java.lang.IllegalArgumentException: n must be positive
at java.util.Random.nextInt(Random.java:250)
at ECONAPP2.app(ECONAPP2.java:65)
at ECONAPP2.main(ECONAPP2.java:10)

无法弄清楚这意味着什么以及 n 代表什么?

最佳答案

在这一行

int randomNumber = generator.nextInt(usedArray.size());

您正在尝试生成随机数。

但是你有空的 usedArray,所以它返回 0。你不能生成 0 到 0 范围内的随机数,所以它抛出异常。该值必须为 1 或更高。

注意文档:“介于 0(含)和指定值(不含)之间的值”,例如 generator.nextInt(1) 在所有调用中返回 0,generator.nextInt (2) 返回 0 或 1...

关于java - 非法参数异常 : n must be positive,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19304463/

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