이것은 약간 이기적인 질문 일 수 있지만 무언가가 옳지 않아 보이지 않는 것을 볼 수 있도록 노련한 코더가 필요합니다.
"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");
}
}
}
어디에 numberOfStudents
설정되어 있습니까? 변수를 초기화 int numberOfStudents = 0;
했지만 for
-loop 전에 다른 값을 얻는 것을 볼 수 없습니까?
따라서 기본적으로 for
-loop numberOfStudents
는 0
.
또한 루프 중에 루프 카운터 변수를 변경하려는 경우 while
대신 루프 사용을 고려해야합니다. for
루프는 동적 루프 카운터 최대 값을 가질 때 실제로 사용되는 것은 아닙니다.
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다