随机不重复名单

 1 /**
 2  * Created by Srun on 14-4-12.
 3  */
 4 public class APTECHStudents {
 5     public static void main(String[] args) {
 6         String[] name = {"陈星光", "程争", "丁飞翔", "周盛源", "万为", "鄢为", "吴进", "陈锡鄂", "余伏初", "梅腾", "王淼三", "李新", "田昌旭", "叶兵元", "文志明", "任为", "向阳", "颜坤", "张孝亮", "李力", "林培鹏", "杨方"};
 7         int[] chosenID = new int[22];
 8         Student[] students = new Student[22];
 9         int randomNumber;
10 
11         for (int i = 0; i < 22; i++) {
12             students[i] = new Student(1147100 + i + 1, name[i]);
13             System.out.println(students[i].getInformation());
14         }
15         System.out.println("-----------------------");
16 //        initialize complected
17 
18         for (int i = 0; i < 22; i++) {
19             boolean isRepeat = true;
20             do {
21                 int unRepeatNumber = 0;
22                 randomNumber = (int) (Math.random() * 22);
23                 for (int j = 0; j < i; j++) {
24                     if (randomNumber != chosenID[j]) {
25                         unRepeatNumber++;
26                     }
27                 }
28                 if (unRepeatNumber == i) {
29                     isRepeat = false;
30                 }
31             } while (isRepeat);
32 
33             chosenID[i] = randomNumber;
34             System.out.println((i + 1) + ".\t" + students[randomNumber].getInformation());
35         }
36     }
37 }
38 
39 
40 class Student {
41     private String name;
42     private int studentID;
43 
44 
45     Student(int studentID, String name) {
46         setName(name);
47         setStudentID(studentID);
48     }
49 
50     public String getInformation() {
51         return studentID + "    " + name;
52     }
53 
54     public void setName(String name) {
55         this.name = name;
56     }
57 
58 
59     public void setStudentID(int studentID) {
60         this.studentID = studentID;
61     }
62 }

 

posted @ 2014-04-12 21:57  Srun  阅读(171)  评论(0)    收藏  举报