Java 将数据存储到类的数组列表中,然后从中打印数据
类文件:Java 将数据存储到类的数组列表中,然后从中打印数据,java,class,object,arraylist,Java,Class,Object,Arraylist,类文件: public class Student { public String stu_FName; public String stu_LName; public String stu_ID; } com.company.Student@45ee12a7 com.company.Student@330bedb4 com.company.Student@45ee12a7 com.company.Student@330bedb4 这是我为从用户那里获取输入
public class Student {
public String stu_FName;
public String stu_LName;
public String stu_ID;
}
com.company.Student@45ee12a7
com.company.Student@330bedb4
com.company.Student@45ee12a7
com.company.Student@330bedb4
这是我为从用户那里获取输入而编写的代码
公共班机{
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("Enter value for X");
int x = sc.nextInt();
ArrayList<Student> stuIDArray = new ArrayList<Student>(4);
while (x != 0) {
Student st = new Student();
System.out.println("Enter First Name");
st.stu_FName = sc.next();
stuIDArray.add(st);
System.out.println("Enter value fo1r X");
x = sc.nextInt();
}
但当我尝试用以下任何一种方法打印结果时,它会打印一些代码类型格式
for (int i=0;i<stuIDArray.size();i++){
System.out.println(stuIDArray.get(i));
}
for (Student a : stuIDArray){
System.out.println(a);
}
这是因为当您试图打印学生“对象”时,它会打印学生对象的字符串表示形式。 您需要做的是用适当的属性覆盖Student类中的toString方法,比如
@Override
public String toString() {
return "Student [stu_FName=" + stu_FName + ", stu_LName=" + stu_LName
+ ", stu_ID=" + stu_ID + "]";
}
您必须了解
toString()
方法。当您尝试在对象上使用System.out.println()
时,其toString()
方法被调用,并且您已经获得的签名,例如com.company。Student@330bedb4
是这些方法的默认返回值,如前所述。如果您想要每个字段的适当详细信息,请覆盖学生
类中的toString
方法。有关更多信息,请查看您需要指定名称您需要为其获取数据的变量。下面的代码运行良好
for (int i = 0; i < stuIDArray.size(); i++) {
System.out.println(stuIDArray.get(i).stu_FName);
}
for (Class1 a : stuIDArray) {
System.out.println(a.stu_FName);
}
for(int i=0;i
ArrayList不必显示
for (int i = 0; i < stuIDArray.size(); i++) {
System.out.println(stuIDArray.get(i).stu_FName);
}
for (Class1 a : stuIDArray) {
System.out.println(a.stu_FName);
}