gpt4 book ai didi

java - 带扫描仪的 ArrayList 无法正常工作

转载 作者:行者123 更新时间:2023-11-29 03:16:16 27 4
gpt4 key购买 nike

此代码应该在 ArrayList 中存储整数并在输入数字 42 时退出,但它不起作用。有时当提供 42 时循环不会停止,有时它不会存储在 42 之前输入的所有数字。

import java.util.*;
class test{
public static void main(String[] args){
ArrayList<Integer> ar = new ArrayList<Integer>();
Scanner sc = new Scanner(System.in);
while(sc.nextInt() != 42){
ar.add(sc.nextInt());
}
for(int i : ar){
System.out.println(i);
}
}
}

输出:

C:\Users\pj\Desktop\j2\new>java test
1
2
3
5
42
2
5

最佳答案

while(sc.nextInt() != 42){
ar.add(sc.nextInt());
}

您在每次迭代中读取两个整数,因此您可能正在循环内读取 42,因此您在读取它时不会停止。

尝试将其更改为:

int i = 0;
while((i = sc.nextInt()) != 42){
ar.add(i);
}

关于java - 带扫描仪的 ArrayList 无法正常工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26412090/

27 4 0