黑马程序员技术交流社区

标题: 有关随机数的一个小问题 [打印本页]

作者: cxh0307    时间: 2017-3-29 20:09
标题: 有关随机数的一个小问题
        需求:创建一个电脑类(computer),包含以下成员:
                成员属性:
                brand(品牌):String类型,price(价格):double类型。属性使用private修饰。
                成员方法:
                set/get方法
                show()方法:打印出对象的所有属性值。
                定义Test类:
                a.在main方法中创建三个Computer对象,品牌分别为:“Apple”,“Dell”,“联想”。价格分别用随机数生成。随机数范围是4000~10000(包含4000和10000)。
                b.在main方法中创建一个ArrayList,将上一步中创建的Computer存入ArrayList中。
                c.遍历ArrayList集合,如果其中的对象的价格大于6666调用这个对象的show方法,打印出所有电脑信息。
public class Test1 {

        public static void main(String[] args) {
                // TODO Auto-generated method stub
                Computer c1  = new Computer("Apple",0.0);
                Computer c2  = new Computer("Dell",0.0);
                Computer c3  = new Computer("联想",0.0);
                Random r = new Random();
                ArrayList<Double> list = new ArrayList<>();
                while(list.size() < 4){
                        double d = (r.nextDouble())*10000;
                        if(d <= 10000 && d >= 4000){
                                list.add(d);
                        }
                }
               
                c1.setPrice(list.get(0));
                c2.setPrice(list.get(1));
                c3.setPrice(list.get(2));
               
                ArrayList<Computer> list1 = new ArrayList<Computer>();
                list1.add(c1);
                list1.add(c2);
                list1.add(c3);
                for(Computer c : list1){
                        if(c.getPrice() > 6666){
                                c.show();
                        }
                }
        }

}

class Computer{
       
        private String brand;
        private double price;
        //空参构造
        public Computer() {
                super();
                // TODO Auto-generated constructor stub
        }
       
        //有参构造
        public Computer(String brand, double price) {
                super();
                this.brand = brand;
                this.price = price;
        }
        //获取品牌
        public String getBrand() {
                return brand;
        }
        //设置品牌
        public void setBrand(String brand) {
                this.brand = brand;
        }
        //获取价格
        public double getPrice() {
                return price;
        }
        //设置价格
        public void setPrice(double price) {
                this.price = price;
        }
       
        public void show(){
                System.out.println("品牌:" + brand + ",单价:" + price) ;
        }
       
}

这一题当中,需要获得三个4000到10000的double类型的随机数,我自己想的是题中写出的方法,获得1-10000的随机数,用判断获得4000-10000的存到集合里面,大家有没有更好的方法?可以写出来,交流交流


作者: starhub    时间: 2017-3-29 21:02
太长了  不想看

作者: xiaomilu    时间: 2017-3-29 21:45
nextInt(6001)+4000




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2