黑马程序员技术交流社区

标题: JAVA经典算法题 [打印本页]

作者: zhenshuai888    时间: 2017-1-8 09:32
标题: JAVA经典算法题
随机生成60个1-100之间不同的整数,在控制台上打印出这些数字中能被3整除但不能被7整除的数字
作者: gczsjj    时间: 2017-1-8 09:38
是60是个不同的数,还是60是个随机数啊

作者: zhenshuai888    时间: 2017-1-8 09:41
public class Test {
        public static void main(String[] args) {
                Random r = new Random();
                int count = 0;
                int x = 0;
                for (int i = 0; count< 60; i++) {
                        x = r.nextInt((100)+1);
                        if(x%3==0&&x%7!=0){
                        System.out.println(x);
                        count++;
                        }
                }
                System.out.println("能3整除但不能被7整除的数字已生成"+count+"个");
        }
}

我的做法  大家看看有没有什么问题
作者: gczsjj    时间: 2017-1-8 09:45
package com.heima.tests;
import java.util.Random;
public class Demo1_Random {
        public static void main(String[] args) {
                Random r = new Random();//不传入种子的构造方法
                for(int i =1;i <= 60;i++) {//生成60个随机数
                        int n = 1 +r.nextInt(100);//r.nextInt(100)生成的是[0,100)
                        if(n % 3 == 0 && n % 7 != 0) {
                                System.out.println(n);
                        }
                }
        }
}

这个是生成60个随机数并判断的,若是60个互不相同的数会有些麻烦,请及时反馈,我来改

作者: 愤怒的大飞机    时间: 2017-1-8 11:00
明明说的是60个不同的数,这有相同的数

作者: wuhaixin    时间: 2017-1-8 21:29
zhenshuai888 发表于 2017-1-8 09:41
public class Test {
        public static void main(String[] args) {
                Random r = new Random();

可以啊,大神
作者: zhenshuai888    时间: 2017-1-8 21:41
厉害  比我写的好  我没想到用集合存储   还漏一个问题  就是(不同的整数)
作者: 月微怜    时间: 2017-1-8 23:47
学习下。。。。
作者: Rhwan    时间: 2017-1-10 13:51
package TestRandom;
import java.util.HashSet;
import java.util.Random;
import java.util.Set;

public class Test2 {
        public static void main(String[] args) {
                Random random = new Random();
                Set<Integer> set = new HashSet<Integer>();
                while(set.size()<60) {
                        //获取随机数的方法
                        int a = random.nextInt(100)+1;
                        //获取到的随机数存入set集合,set集合会自动去重.
                        set.add(a);
                }
                //1.5的新特性:自动拆装箱
                for (Integer integer : set) {
                        if (integer%3==0&&integer%7!=0) {
                                System.out.println(integer);
                        }
                }
        }
}





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