import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
public class Test29 {
/*5、 编写程序,生成5个1至10之间的随机整数,存入一个List集合,
* 编写方法对List集合进行排序(自定义排序算法,禁用Collections.sort方法和TreeSet),
* 然后遍历集合输出*/
public static void main(String[] args) throws InterruptedException {
int[] number = new int[5];// 定义一个int数组长度为5
List<Integer> list = new ArrayList<Integer>();// 定义一个int数组长度为5
for (int i = 0; i < 5; i++) {
number[i] = (int) (Math.random() * 10 + 1);// 返回1~10之间的随机整数给number[i]
for (int j = 0; j < i; j++) {
if (number[i] == number[j]) {// 与之前的数对比,防止重复
i--;
break;
}
}
}
System.out.println("将随机数添加到list集合中");
for (int n : number) {
Thread.sleep(100);// 为了打印好看些
list.add(n);
System.out.print(n + " ");
}
System.out.println("\n5个1至10的随机数从小到大排序如下:");
Collections.sort(list);// 按升序排序
// 冒泡排序
for (int i = 0; i < list.size() - 1; i++) {
for (int j = 1; j < list.size() - i; j++) {
if ((list.get(j - 1)).compareTo(list.get(j)) > 0) { // 比较两个整数的大小
int temp = list.get(j - 1); // 如果J-1大于J的交换位置
list.set((j - 1), list.get(j));
list.set(j, temp);
}
}
}
// 遍历输出
for (int n : list) {
Thread.sleep(100);// 为了打印好看些
System.out.print(n + " ");
}
}
}
|
|