这可能是一个自私的问题,但是有些不对劲,我需要经验丰富的编码器来帮助我看清看不见的东西。
它是一个简单的程序,可将“学生”类中的学生详细信息存储到ArrayList中。
在添加for循环之前,它一直运行正常。我没有任何语法错误,并且控制台中没有任何显示。
提前致谢!
public class Wizard
{
public static void main(String[] args) {}
ArrayList<Student> studentList;
public Wizard()
{
studentList = new ArrayList<Student>();
int numberOfStudents = 0;
Scanner input = new Scanner(System.in);
// Enter student details
for(int n = 0; n < numberOfStudents; n=n+1)
{
// how many students are in the class
System.out.print("How many students in your class?: ");
numberOfStudents = input.nextInt();
System.out.println("There are " + (numberOfStudents) + " students in the class.\n");
// what is the students name
System.out.print("Enter student " + (n + 1)+"'s name: ");
String studentName = input.next();
// what is the students grade
System.out.print("Enter " + (studentName) + "'s grade: ");
int studentGrade = input.nextInt();
input.nextLine();
// make a new student
Student newStudent = new Student(studentName, studentGrade);
// Store student
studentList.add(newStudent);
System.out.println("Student " + newStudent.getName() + " has been added.\n");
}
}
}
最佳答案
numberOfStudents
设置在哪里?您将变量初始化为int numberOfStudents = 0;
,但是在for
循环之前我看不到它得到任何其他值吗?
因此,基本上for
循环不会执行一次,因为numberOfStudents
是0
。
同样,如果您打算在循环期间更改循环计数器变量,则应考虑使用while
循环。当具有动态循环计数器最大值时,for
循环并不是真正要使用的。