【发布时间】:2014-03-08 20:13:34
【问题描述】:
程序以以下提示开始:
- 创建新的学生列表
- 搜索学生。
问题:我创建了一个对象数组并在第一个 if 语句中填充它,然后尝试在第二个 if 语句中访问它,我知道我不能这样做。那么如何创建和填充对象数组并在以后访问它呢?有什么想法吗?
if(iUserSelection == 1) {
System.out.println();
System.out.println("How many students?");
x = oScan.nextInt();
System.out.println();
// flush the buffer
oScan.nextLine();
Student[] oClassList = new Student[x];
for(int i = 0; i < x; i++) {
System.out.println("*********************");
System.out.println("Student " + (i + 1) + " of " + x);
System.out.println("*********************");
oClassList[i] = new Student("","",0,0,0,0);
System.out.print("First Name: ");
oClassList[i].setFirstName(oScan.nextLine());
System.out.print("Last Name: ");
oClassList[i].setLastName(oScan.nextLine());
System.out.print("Homework average: ");
oClassList[i].setHWAve(oScan.nextInt());
System.out.print("Quiz average: ");
oClassList[i].setQuizAve(oScan.nextInt());
System.out.print("Project average: ");
oClassList[i].setProjectAve(oScan.nextInt());
System.out.print("Test average: ");
oClassList[i].setTestAve(oScan.nextInt());
// flush the buffer
oScan.nextLine();
System.out.println();
oClassList[i].printStudent();
}
}
if(iUserSelection == 2) {
// flush the buffer
oScan.nextLine();
if(oClassList[0] != null) {
System.out.println("Student search");
System.out.print("Enter last name: ");
sSearchLastName = oScan.nextLine();
System.out.print("Enter first name: ");
sSearchFirstName = oScan.nextLine();
}
for(int y = 0; y >= oClassList.length; y++) {
if(sSearchLastName == oClassList[y].lastName) {
System.out.println("found elements");
}
else
System.out.println("Error - Student not found");
}
}
【问题讨论】: