1.向list集合中存储10个1-100之间的随机数.要求元素不能重复.
2.使用冒泡排序把集合中的元素按照从小到大排序.
3.使用带索引的for循环遍历集合输出元素.
package com.itheima.Work;
import java.util.ArrayList;
import java.util.Random;
public class Ex05 {
public static void main(String[] args) {
Random random = new Random();
ArrayList<Integer> list = new ArrayList<>();
for (int i = 1; i <= 10; i++) {
int r = random.nextInt(90) + 10;
list.add(r);
}
System.out.println(list);
for (Integer it : list) {
list.get(0);
System.out.println(it);
}
}
}
目前做到这里不会做了,我只会用冒泡排序排列数组,不会排列集合,
吧集合转化为数组好像也做不出来
还有第三题索引的for循环是什么意思?
求大神指点
int r = random.nextInt(90) + 10 这行错了,题目要求1-100,你这样成了10-100了
只有数组的时候才需要交换变量,list有set函数不需要。而且交换变量直接用位运算即可。
而且需要注意两点
第一 : 不写行尾注释
第二 : list或者数组或者String的length,size在for循环条件体1中声明长度变量,循环条件二比较长度变量,避免没执行循环需要调用对象的length或size等属性或方法
private static void bubble(ArrayList<Integer> list){
for (int i = 0; i < list.size(); i++) {
for (int j = 0; j < list.size()-1-i; j++) {
if(list.get(j)>list.get(j+1)){
int temp = list.get(j);
list.get(j) = list.get(j+1); // 报错 应为变量
list.get(j+1) = temp; // 报错 应为变量
}
}
}
PrintArr(list);
}