gpt4 book ai didi

java - 如何从用户接受整数并将其存储在java中的int数组

转载 作者:太空宇宙 更新时间:2023-11-04 12:43:29 26 4
gpt4 key购买 nike

我试图一一接受用户的原始整数列表并将其存储到原始数组中以供以后使用。这是我的代码:

     Scanner scanner=new Scanner(System.in);
int n= scanner.nextInt();
ArrayList<Integer> arr=new ArrayList<>();
int[] a = new int[arr.size()];
Iterator<Integer> iterator = arr.iterator();
if (n < 15){
for (int i=0;i<n;i++){
System.out.println("enter "+i+" th number");
arr.add(scanner.nextInt());
a[i] = iterator.next().intValue();

}}
else {
System.out.println("Please enter number less than 15");
//break;
}e here

存在运行时错误,代码如下:

Exception in thread "main" java.util.ConcurrentModificationException
at java.util.ArrayList$Itr.checkForComodification(ArrayList.java:901)
at java.util.ArrayList$Itr.next(ArrayList.java:851)
at App.main(App.java:26)

我猜这是 ArrayList 的故障快速问题(在这种情况下不允许在迭代 arraylist 时修改列表)。我怎样才能使上面的代码失效?...如果我对我的问题的理解是正确的?预先非常感谢您!

最佳答案

您遇到此问题是因为您借助迭代器读取了ArrayList,并且同时使用arr.add(scanner.nextInt());对其进行了修改。您应该摆脱迭代器并使用arr.get(index)来访问ArrayList的给定元素。

关于java - 如何从用户接受整数并将其存储在java中的int数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36582955/

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