持之以恒J
2021-05-12 18:07
采纳率: 55.6%
浏览 42
已采纳

Jvav集合题目求大神指点

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循环是什么意思?

求大神指点

 

  • 写回答
  • 好问题 提建议
  • 关注问题
  • 收藏
  • 邀请回答

3条回答 默认 最新

  • 小宇 2021-05-12 18:52
    已采纳

    int r = random.nextInt(90) + 10   这行错了,题目要求1-100,你这样成了10-100了

    已采纳该答案
    评论
    解决 1 无用
    打赏 举报
  • m0_53400877 2021-05-13 10:35

    只有数组的时候才需要交换变量,list有set函数不需要。而且交换变量直接用位运算即可。

    而且需要注意两点
    第一 : 不写行尾注释
    第二 : list或者数组或者String的length,size在for循环条件体1中声明长度变量,循环条件二比较长度变量,避免没执行循环需要调用对象的length或size等属性或方法

    评论
    解决 1 无用
    打赏 举报
  • 持之以恒J 2021-05-12 19:40
    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);
        }
    评论
    解决 无用
    打赏 举报

相关推荐 更多相似问题