标签:
1 // 方法一,用for循环,break跳出语句(不推荐,方法太笨,思路也不是很明确) 2 3 public static void main(String[] args) { 4 5 // 方法二 利用foreach和continue循环并跳出循环 6 7 int[] c = new int[7];// 创建7个数的数列,这个地方可以不用定义数组 8 9 Random ran1 = new Random(); // 实例化对象 10 11 boolean bo = false; // 定义标识符来控制循环 12 13 for (int i = 0; i < c.length; i++) { // 生成随机数列,并且一次性判断是不是有0和有没有相同的数 14 15 // 利用遍历数组的方法判断是不是有重复的数字 16 17 int t = ran1.nextInt(35); 18 19 if (t == 0) { // 判断是不是有0这个数字 20 21 i--; 22 continue; 23 } 24 for (int y : c) { 25 26 if (y == t) { 27 28 bo = true; 29 break; 30 } 31 32 } 33 if (bo) { 34 35 i--; 36 continue; 37 } 38 39 c[i] = t; 40 } 41 42 for (int x1 : c) { 43 44 System.out.print(x1 + " "); 45 } 46 System.out.println(); 47 48 // 利用index来判断是不是有相同的数列(推荐) 49 50 String str = ""; 51 52 for (int i = 0; i < 7; i++) { 53 54 int t = ran1.nextInt(35); 55 56 if (t == 0) { // 判断是不是有0这个数字 57 58 i--; 59 continue; 60 } 61 if (str.indexOf(t + "") >= 0) { // 判断是不是有重复的数字 62 63 i--; 64 continue; 65 } 66 str = str + t + " "; 67 } 68 System.out.println(str); 69 70 System.out.println("------------------"); 71 72 // 利用replace替换,这个方法虽然简单但是不是很好,每个数不是很随机了,还没有想到处理的方法 73 74 String s = "01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25" 75 76 + " 26 27 28 29 30 31 32 33 34 35";// 这种方法尽量不要用显得太Low了 77 78 Random r = new Random(); 79 80 for (int i = 0; i < 100; i++) { 81 int t1 = r.nextInt(36); 82 83 if (t1 <= 9) { 84 85 s = s.replace("0" + t1 + " ", ""); 86 } else { 87 88 s = s.replace(t1 + " ", ""); 89 } 90 91 if (s.length() <= 22) { 92 93 System.out.println(s); 94 break; 95 96 } 97 //还有其他的方法,还没有整理
标签:
原文地址:http://www.cnblogs.com/zhengfengyun/p/5134374.html