gpt4 book ai didi

java - Java中如何显示对象的内容

转载 作者:行者123 更新时间:2023-12-01 17:05:14 26 4
gpt4 key购买 nike

好吧,现在我想我已经放弃了找到解决这个简单问题的所有希望。基本上,我正在创建一个学生记录系统,将学生的详细信息存储在 ArrayList 中。我首先在 Student 类中创建了一个构造函数来指定每个学生将拥有哪些条目。然后,我在主类(即具有 main 方法的类)中创建了 Student 类的实例,然后将学生对象添加到 StudentList ArrayList 中。

顺便说一句,我最初的目标是让用户输入详细信息,而不是对学生详细信息进行硬编码,然后我将使用 Scanner 或 BufferedReader 对象来获取存储在 Student 对象中的详细信息,然后到 ArrayList 但我也遇到了麻烦;所以我可能会在完成这个问题后立即解决这个问题。

无论如何,我期望输出打印出学生的详细信息,但我得到了一个内存位置(即 [studentrecordsys.Student@15c7850])。我知道我需要重写 toString 方法,但我似乎无法弄清楚这是如何完成的。当我输入 toString 方法的 @Override 代码块时,我到处都会遇到语法错误。这是我尝试过的:

import java.util.*;

class Student {
private String studentID;
private String studentName;
private String studentAddress;
private String studentMajor;
private int studentAge;
private double studentGPA;

Student (String studentID, String studentName, String studentAddress, String
studentMajor, int studentAge, double studentGPA){

this.studentID=studentID;
this.studentName=studentName;
this.studentAddress=studentAddress;
this.studentMajor=studentMajor;
this.studentAge=studentAge;
this.studentGPA=studentGPA;
}
}


public static void main(String[] args) {
Student ali = new Student("A0123", "Ali", "13 Bond Street", "BSc Software Engineering", 22, 3.79);
List<Student> studentList = new ArrayList<>();

studentList.add(ali);

@Override
String toString() {
StringBuilder builder = new StringBuilder();
builder.append(ali).append(studentList);
return builder.toString();
}

System.out.println(builder);
}

最佳答案

您需要在 Student 对象上实现 toString()。

public class Student {
...
Your existing code
...

@Override
public String toString() {
return studentID + ", " + studentName + ", " + //The remaining fields
}
}

然后在你的主方法中调用

for (Student student : studentList) {
System.out.println(student.toString());
}

关于java - Java中如何显示对象的内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25880618/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com