因此,我要做一些功课,并且制作了一个简单的用户输入应用程序,该应用程序最后将所有键入的输入输出(我希望这样做)。问题是我不知道如何使它不会覆盖现有对象,而是创建一个新对象。
我想我可以创建一个数组或类似的东西,它应该可以解决问题,但不能解决我的问题,所以我来这里寻求帮助。
public class Main {
public static void main(String[] args) {
String next ="y";
int studentNum = 1;
Scanner scanner = new Scanner(System.in);
System.out.println("Do you want to add a student? y/n");
if(scanner.nextLine().equalsIgnoreCase("n"))
System.exit(0);
for(int i = 0;i<studentNum;i++){
Student student = new Student();
System.out.println("ID: ");
student.setId(scanner.nextLine());
System.out.println(("Ime: "));
student.setName(scanner.nextLine());
System.out.println("Prezime: ");
student.setSurname(scanner.nextLine());
System.out.println("Do you want to add another student? y/n");
if(scanner.nextLine().equalsIgnoreCase("y"))
studentNum+=1;
else
for(i =0;i<studentNum;i++)
System.out.println(student.toString());
}
}
还有学生班
public class Student {
@Override
public String toString() {
return String.format("ID: %s \n%s %s\nAverage grade %.2f\n____________________\n",
id, surname, name, averageGrade() );
}
@Override
public boolean equals(Object obj) {
// pretpostavljamo da je predani objekt iz klase Student
Student otherStudent = (Student) obj;
return id.equals(otherStudent.id);
}
final int ARR_SIZE = 60;
private String id;
private String name;
private String surname;
private int noOfGrades;
private CourseGrade[] grades;
public String getId() {
return id;
}
public void setId(String newId) {
id = newId;
}
public String getName() {
return name;
}
public void setName(String newName) {
name = newName;
}
public String getSurname() {
return surname;
}
public void setSurname(String newSurname) {
surname = newSurname;
}
如果我想再增加一个学生,它会覆盖我期望的现有学生,但是我不知道如何使它成为一个新实例。
答案 0 :(得分:0)
以下是如何使用列表存储多个学生的示例代码:
import java.util.List;
import java.util.ArrayList;
..
List<Student> students = new ArrayList<Student>();
Student s = new Student();
s.setName("Joe");
students.add(s);
Student t = new Student();
t.setName("Jack");
students.add(t);
for(Student student : students) {
System.out.println(student.toString());
}
有了这些信息,您应该能够完成工作。