如何在java中实现Random

时间:2015-06-22 03:07:19

标签: java

好吧,我需要实现两个类$(document).ready(function(){ $('.controls li i').click(function(){ alert($(this).attr("data")); }); }); Student。每个学生的School编号由Idnumber of arrival组成,第二个编号应为元素数组中的随机数。

然后我需要将这些学生注册到合适的学校,其中有四所。此注册也必须是随机的。所以我在这里有学生和学校课程,

dormitory number

在这里上课,

public class Student {
private String name;
private int id, size;
private int dorm;

/**
 * Constructor of a class Student
 *
 * @param n sets the name of the student
 */
public Student(String n) {
    name = n;
    int d[] = {11, 19, 20, 22, 23, 24, 38, 39};
    Random r = new Random();
    dorm = d[r.nextInt(d.length)];
}

/**
 * @return the name
 */
public String getName() {
    return name;
}

/**
 * @param name the name to set
 */
public void setName(String name) {
    this.name = name;
}


/**
 * @return the dorm
 */
public int getDorm() {
    return dorm;
}
/**
 * the id to set
 */
public void setId() {
    id = size;
    id = id*100 + dorm;
}


/**
 * @return the id
 */
public int getId() {
    return id;
}


@Override
public String toString() {

    String result = "The student " + name + " has an id " + id + ". Located in the dormitory #" + dorm + ".";
    return result;

}

正如您所看到的,我在学校课程中注册了一个注册方法,该方法将新学生注册到特定学校。

所以我的问题是如何从School类中获取数据import adt.Queue; public class School { private int size; private String name; private Queue q = new LinkedListQueue(); public School(String n) { name = n; size = 0; } public void register(Student st) { q.enqueue(st); size++; } public int getSize() { return size; } public void viewStudents() { System.out.println(q.toString()); } @Override public String toString() { String str = "The School of " + name + ". The number of students is " + size + "."; return str; } 以在Student类中使用它?

我只是一个学生,请不要判断我^^)

2 个答案:

答案 0 :(得分:0)

当您将学生添加到学校时,您还应该告诉学生他们所在的学校。

Student

添加字段和方法
public class Student {
   private String name;
   private int id, size;
   private int dorm;
   private School school;

   public void setSchool( School school ) {
      this.school = school;
   } 

然后在School中添加代码告诉学生。

 public void register(Student st) {  
    q.enqueue(st);
    size++;
    st.setSchool( this );
 }

现在只要学生中school不是null,学生就可以找到他们学校的大小。

答案 1 :(得分:0)

如果我正确理解您的问题,您需要为学生的int方法添加setId()参数:

public void setId(int id) {
    this.id = id * 100 + dorm;
}

然后使用register()方法:

public void register(Student st) {
    q.enqueue(st);
    st.setId(size++);
}

我希望能帮到你,祝你好运!