如何让随机生成的每一朵花大小都不相同呢?

如何让随机生成的每一朵花大小都不相同呢?

package com.imooc.flowers;
public class Flower {
    private String floor;
    private Integer size;
    public Flower (){
    }
    public Flower(String floor, Integer size) {
        this.floor = floor;
        this.size = size;
    }
    public String getFloor() {
        return floor;
    }
    public void setFloor(String floor) {
        this.floor = floor;
    }
    public Integer getSize() {
        return size;
    }
    public void setSize(Integer size) {
        this.size = size;
    }
}
package com.imooc.flowers;
import org.junit.Test;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.List;
import static java.lang.Math.random;
public class Choosethebest {
    @Test
    public void chooseTheFlower() {
        List<Flower> flowerList = new ArrayList<Flower>();
        Flower flower = null;
        for (int i=0; i<10; i++){
           int size= ((int)(Math.random()*10));
           flower= new Flower(String.valueOf(i+1),size);
           flowerList.add(flower);
        }
        Collections.sort(flowerList, new Comparator<Flower>() {
            public int compare(Flower o1, Flower o2) {
                return o2.getSize()-o1.getSize();
            }
        });
        for(Flower flower1 : flowerList){
            System.out.println(flower1.getFloor()+":"+flower1.getSize());
        }
        System.out.println("应当选取"+flowerList.get(0).getFloor()+"层电梯的花");
    }
}

 <dependency>

            <groupId>junit</groupId>

            <artifactId>junit</artifactId>

            <version>4.13.2</version>

        </dependency>


正在回答

登陆购买课程后可参与讨论,去登陆

1回答

同学你好,这里可以利用HashSet中的元素不重复特性进行求解。

这里可以使用循环多次生成随机数,将生成的数字存放入Set集合,当集合的size满足要求时,停止循环,并遍历集合将随机数取出即可。

祝学习愉快~


  • 晓舟 提问者 #1

    Set能排序吗?是不是要用TreeSet

    2022-03-14 14:58:32
  • 好帮手慕小蓝 回复 提问者 晓舟 #2

    同学你好,这里使用Set集合仅是为了生成不相同的数据,并不需要对这些数据进行排序。所以不是必须使用TreeSet。如果需要排序的话,就需要使用TreeSet了。

    祝学习愉快~

    2022-03-14 15:25:53
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师