我正在编写一个应该读取正整数列表(包括 0)的程序。如果用户输入超过 100 个数字或输入负数,则循环应该终止。
我尝试做一个简单的 do-while 循环来解决这个要求,但在运行时,无论我提供多少数字,循环都不会终止。我试过几次改变循环,但到目前为止都没有成功。我一定是犯了一个非常微妙的菜鸟错误,但我似乎无法捕捉到它。
int[] list = new int[100];
int size=0;
do{
list[size] = kbd.nextInt();
size++;
}while((size < 100) && (list[size] >= 0));
}
最佳答案
您的问题是您在测试 list[size] >= 0
之前增加了 size
。您应该将其更改为
do{
list[size] = kbd.nextInt();
size++;
}while((size < 100) && (list[size-1] >= 0));
关于java - 输入负数后循环不终止,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43354377/