这可能是一个自私的问题,但有些事情是不对的,我需要一个经验丰富的程序员来帮助我看到看不见的事。
它是一个简单的程序,可将学生详细信息从“Student”类存储到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");
}
}
}
答案 0 :(得分:3)
numberOfStudents
在哪里设置?您将变量初始化为int numberOfStudents = 0;
,但我无法在for
- 循环之前看到它获得任何其他值?
所以基本上for
- 循环不执行一次,因为numberOfStudents
是0
。
此外,如果您计划在循环期间更改循环计数器变量,则应考虑使用while
循环。 for
- 当具有动态循环计数器最大值时,实际上并不意味着使用循环。
答案 1 :(得分:2)
由于您将numberOfStudents
设置为0,因此根本无法完成循环。