Java 替代数组元素打印的哈希代码
我用一个名为Student的新类创建了一个程序,该类设置并获取不同的变量,如name、GPA、是否注册以及注册时间(这是一个字符串,它的目的是)。问题是,当我尝试将信息存储到数组和/或数组列表中并打印它时,会打印哈希代码而不是信息。该程序还没有完全完成,但我试图首先解决哈希代码问题。如果你能帮忙,我将不胜感激。提前谢谢你Java 替代数组元素打印的哈希代码,java,arrays,hash,Java,Arrays,Hash,我用一个名为Student的新类创建了一个程序,该类设置并获取不同的变量,如name、GPA、是否注册以及注册时间(这是一个字符串,它的目的是)。问题是,当我尝试将信息存储到数组和/或数组列表中并打印它时,会打印哈希代码而不是信息。该程序还没有完全完成,但我试图首先解决哈希代码问题。如果你能帮忙,我将不胜感激。提前谢谢你 Student st = new Student(); System.out.println(st.getName()); Student1();
Student st = new Student();
System.out.println(st.getName());
Student1();
Student st1 = new Student("John");
}
public static void Student1() {
System.out.println("Enter the data for student 1 :");
Student st = new Student();
Scanner keyboard = new Scanner(System.in);
String name = keyboard.next();
double GPA = keyboard.nextDouble();
boolean enrolled = keyboard.nextBoolean();
String date = keyboard.next();
for (int i =0; i<5; i++){
Student newStudent = new Student();
newStudent.setName(name);
newStudent.setGPA(GPA);
newStudent.setEnrolled(enrolled);
newStudent.setDate(date);
ArrayList <Student> strList = new ArrayList<Student>();
Student student[] = new Student[5];
newStudent.getName();
student[i] = newStudent;
strList.add(newStudent);
System.out.println(student[i]);
}
toString()
。如果您不知道,JVM中的默认设置是打印哈希代码System.out.println(学生[i].getName())代码>
Arrays.toString()
这是因为您正在将学生对象放入数组中:
Student student[] = new Student[5];
newStudent.getName();
student[i] = newStudent;
strList.add(newStudent);
System.out.println(student[i]);
在这里,当您打印时,您不是打印学生姓名,而是打印对象本身。无论何时对对象执行System.out.println操作,都会返回哈希代码
这是您的问题吗?这种打印将获得实例地址,而不是它的打印 因为您想要打印引用类型,所以VM不知道您希望如何显示它,或者其他一些字段是否不可打印
它很适合您,重写“public String toString()”方法并实现您自己的格式。请重写toString()方法,因为当前它仅打印对象类中toString()方法的默认实现,该对象类设置为当前对象的hashcode()。请尝试正确格式化您的代码。它一点也不可读。+你应该接受一个答案……我为耽搁太久而道歉,我被叫去上班,午夜后才回家。但是你的建议解决了,谢谢你,先生或女士。你为我节省了不少时间。别担心,几个月后我的答案被接受了:)是的,谢谢!
Student student[] = new Student[5];
newStudent.getName();
student[i] = newStudent;
strList.add(newStudent);
System.out.println(student[i]);