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 //还有其他的方法,还没有整理