我正在嘗試編寫一個應用程序,該程序需要用戶指定的數字,然後使這些許多對象(我稱它們爲學生)爲它們分配隨機名稱和數字,然後對它們的數字進行排序。我有種解決方法,但是在打印數組時遇到問題。我的代碼如下。我得到的輸出是「New Object」輸入的次數,後面跟着每個toString調用的「0:null」。任何幫助將不勝感激。謝謝。無法打印我的數組對象
import java.util.Random;
import java.util.Scanner;
public class application {
public static void main(String[] args) {
int studentSerialNumber;
String studentName;
System.out.println("Enter the number of students you would like to sort: ");
Scanner scanner = new Scanner(System.in);
int numOfStudents = scanner.nextInt();
Student[] anArrayToSort = new Student[numOfStudents];
for (int i = 0; i < anArrayToSort.length; i++) {
studentSerialNumber = ((int)(Math.random() * 8888)) + 1000;
studentName = getStudentName();
anArrayToSort[i] = new Student(studentSerialNumber, studentName);
}
for (int i = 0; i < anArrayToSort.length; i++) {
System.out.println(anArrayToSort[i].toString());
}
}
private static String getStudentName() {
String studentName = "";
int i = 7;
Random r = new Random();
while (i > 0) {
char c = (char) (r.nextInt(26) + 'a');
studentName = studentName + c;
i--;
}
return studentName;
}
}
public class Student {
int studentSerialNumber;
String studentName;
Student(int studentSerialNumber, String studentName) {
studentSerialNumber = studentSerialNumber;
studentName = studentName;
System.out.println("New Object");
}
public String toString() {
return studentSerialNumber + ": " + studentName;
}
}
你是如何從靜態環境中實例化學生的? 'anArrayToSort [i] =新生(studentSerialNumber,studentName);' – TheEwook 2013-04-07 15:51:15