A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

  1. package com.wxy;

  2. public class Prime
  3. {
  4.         public static void main(String[] args)
  5.         {
  6.                 for(int i=100;i<1000;i++)
  7.                 {
  8.                         int n = 0;
  9.                         for(int j = 1 ; j<(i+2)/2;j++)
  10.                         {
  11.                                 if(i%j ==0)
  12.                                         n++;
  13.                         }
  14.                         if(n<2)
  15.                         {
  16.                                 System.out.println(i +":是质数");
  17.                         }
  18.                 }
  19.         }
  20. //        public static void main(String[] args)
  21. //    {
  22. //             //判断是否是质数。
  23. //            //三位质数从100开始到1000结束。
  24. //            for(int i = 100; i < 1000; i++ ) {  
  25. //                    
  26. //                    int factors = 0;  
  27. //                    
  28. //                    for(int j = 1; j < (i + 2)/2; j++ )
  29. //                    {  
  30. //                            // 将 i 依次除以 1 到 [(i + 2)/2]  
  31. //                            // 计算其整除的次数  
  32. //                            if((i % j) == 0) factors++;               
  33. //                    }  
  34. //                    // 如果只有一次整除,那么该数为素数  
  35. //                    if(factors < 2)   
  36. //                            System.out.println(i+"为质数");  
  37. //    }
  38. //    }

  39. }
复制代码

12 个回复

倒序浏览
哥们,  你贴错代码了。
回复 使用道具 举报
预言者 来自手机 中级黑马 2015-8-4 23:52:56
藤椅
看你下面代码不是随机数的,个人认为,需要用到math.random。就是math里面的产生随机数的。跟sum求和差不多。大概酱紫,自己看看印象更深刻,留待后人补充了,睡了!
回复 使用道具 举报
表示完全没看懂。。。。高手。。。
回复 使用道具 举报
453203489 发表于 2015-8-4 23:50
哥们,  你贴错代码了。

哥们 不好意思 我是刷分的,昨晚赶在12点前发的,
回复 使用道具 举报
这都可以。。。。。。。。。。。。
回复 使用道具 举报
public class SuiJiShuTest {
        public static void main(String[] args) {
               
                int[] arr = new int[10];
               
                for(int x = 0 ; x < arr.length ; x++){
                        int num = (int)(Math.random()*20)+1;
                       
                        boolean flag =true;
                       
                        for(int y = 0 ; y < arr.length ; y++){
                                if(num == arr[y]){
                                        flag = false;
                                        break;
                                }
                        }
                        if(flag){
                                arr[x] = num ;
                        }
                        else {
                                x = x-1;
                        }
                }
               
                for(int x = 0 ; x < arr.length ; x++){
                        System.out.println(arr[x]);
                }
        }
}
回复 使用道具 举报
预言者 发表于 2015-8-4 23:52
看你下面代码不是随机数的,个人认为,需要用到math.random。就是math里面的产生随机数的。跟sum求和差不多 ...

不好意思贴错代码了
  1. package com.wxy;

  2. import java.util.HashSet;
  3. import java.util.Random;
  4. import java.util.Set;

  5. public class Random7
  6. {
  7.         public static void main(String[] args)
  8.         {
  9.                 int arr[] = new int[10];
  10.                 Random rand  =new Random();
  11.                 HashSet<Integer> set = new HashSet();
  12.                
  13.                 while(set.size()<=10)
  14.                 {
  15.                         set.add(rand.nextInt(20)+1);
  16. //                        set.add((int) (Math.random()*21));
  17.                 }
  18.                 System.out.println(set);
  19.                
  20.                
  21.                
  22.                 }
  23.                
  24.        

  25. }
复制代码
回复 使用道具 举报
兄弟姐妹们,不好意思贴错代码了
思路:用hashset存放随机生成的数据就不会有重复
  1. package com.wxy;

  2. import java.util.HashSet;
  3. import java.util.Random;
  4. import java.util.Set;

  5. public class Random7
  6. {
  7.         public static void main(String[] args)
  8.         {
  9.                 int arr[] = new int[10];
  10.                 Random rand  =new Random();
  11.                 HashSet<Integer> set = new HashSet();
  12.                
  13.                 while(set.size()<=10)
  14.                 {
  15.                         set.add(rand.nextInt(20)+1);
  16. //                        set.add((int) (Math.random()*21));
  17.                 }
  18.                 System.out.println(set);
  19.                
  20.                
  21.                
  22.                 }
  23.                
  24.        

  25. }
复制代码

点评

谢谢。使用hashset的方法很棒。  发表于 2015-9-21 13:38
回复 使用道具 举报
。。。人才啊。
回复 使用道具 举报
王训印 发表于 2015-8-5 19:03
兄弟姐妹们,不好意思贴错代码了
思路:用hashset存放随机生成的数据就不会有重复
...

while(true)
{
set.add(rand.nextInt(20)+1);
  if (set.size==10){
   break;
    }
}
我觉得这样子会好一点,你的那段代码,可能会出现11个数
回复 使用道具 举报
赞!hashset的使用!
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马