그래서 학생 이름과 GPA에 대한 사용자 입력을 받아서 단일 arraylist에 정보를 입력하는 프로그램을 만들려고합니다. 꽤 많이, 나는 float과 문자열 변수를 저장하고 사용자 입력을 저장하는 ArrayList
을 만들려고합니다. 이 작업을 수행하는 데 생성자를 사용하려고하지만 작동하도록 코드를 가져 오는 데 문제가 있습니다. 여기에 지금까지이 작업은 다음과 같습니다ArrayList를 사용하여 생성자를 호출 할 때
public class BestStudent {
static Scanner scanner = new Scanner(System.in);
static String name;
static float gpa;
private class Student {
public Student (String n, float g){
name = n;
gpa = g;
}
}
public static void findValidictorian(){
ArrayList<Student> validictorian = new ArrayList<Student>();
while (true){
System.out.println("Please enter student name: ");
name.add(scanner.next());
System.out.println("Please enter your student's cumulative GPA: ");
gpa.add(scanner.nextFloat());
System.out.println("do you want to add another student yes/no?");
String answer = scanner.next();
if (answer.toLowerCase().equals("no")){
break;
}
}
}
public static void main(String[] args) {
findValidictorian();
}
}
나는 내 ArrayList를 내 추가 방법 모두에 오류가 점점 오전, 내가 할 수없는 이유를 내 그림 밖으로의 생활.
아마도 새로운 BestStudent 객체를 만들고, 스캐너에서 읽은 내용으로 필드를 설정 한 다음, *** 목록에 추가하십시오. ? – Perception
'name'과'gpa' 필드는 외부 클래스가 아닌 내부 클래스 자체에 저장해야합니다. – gparyani