gpt4 book ai didi

java - ArrayList 中的问题

转载 作者:行者123 更新时间:2023-12-04 21:15:47 25 4
gpt4 key购买 nike

import java.util.*;
import java.util.Random;

class ArraySorting {
public static void main(String[]args) {

ArrayList<Integer> arr = new ArrayList<Integer>();

Random generate = new Random();
for (int nums = 0; nums < 20; nums++) {
int randomnumbers = generate.nextInt(50);
arr.add(randomnumbers);
}

System.out.println("First list of 20 generated numbers: ");
System.out.println(arr);
System.out.println("");

int dupe = 0;

for (int n = 0; n < arr.size(); n++) {
Integer check1 = arr.get(n);

for (int n2 = n+1; n2 < arr.size(); n2++) {
Integer check2 = arr.get(n2);

//remove second num if two numbers akike
if (check1.equals(check2)) {
arr.remove(check2);
n2 = n2-1;
dupe = 1;

}
}
n = n-dupe;
dupe = 0;
}

System.out.println("Duplicates: " + (20 - arr.size()));

for (int n3 = arr.size(); n3 < 20; ++n3) {
int randomnumbers = generate.nextInt(50);
arr.add(randomnumbers);

//check for duplicates again
for (int n = 0; n < arr.size(); n++) {
Integer check1 = arr.get(n);

for (int n2 = n+1; n2 < arr.size(); n2++) {
Integer check2 = arr.get(n2);

if (check1.equals(check2)) {
arr.remove(check2);
n2 = n2-1;
dupe = 1;
}
}
n = n - dupe;
dupe = 0;
}
}

//before sort
System.out.println(arr);
System.out.println("");

for(int a=0; a<20; a++){
for (int b = 0; b < 19; b++) {
if(arr[b] > arr[b+1]){
int temporary = arr[b];
arr[b] = arr[b+1];
arr[b+1] = temporary;
}
}
}

System.out.println("\nSorted Array:\n");
for (int a = 0; a < 20; a++) {
System.out.println("Array [" + a + "]: " + arr[a]);
}


}

}

谁能告诉我我做错了什么,我似乎无法生成最后一部分。不应该 ArrayList arr = new ArrayList();与 arr[b] 工作的最后一部分运行相同?我是 Java 的新手,所以如果在解决方案中提供简单的解释/隐喻,我将不胜感激。

P.S:我不打算使用像Collection这样的库排序函数,我需要在最后一部分使用排序方法。

最佳答案

arr[a] 是访问数组元素的语法。对于 ArrayList,您使用 arr.get(a)。要为 ArrayList 赋值,您可以使用 arr.set(b,value)。您不能使用赋值运算符。

关于java - ArrayList<Integer> 中的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31676080/

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