java - 打印哈希码来代替数组元素

标签 java arrays hash

我创建了一个程序,其中有一个名为 Student 的新类,它设置和获取不同的变量,例如姓名、GPA、是否已注册以及何时注册(这是一个字符串,它的目的是)。问题是,当我尝试将信息存储到数组和/或数组列表中并打印它时,我得到的是打印的哈希代码而不是信息。该程序并不完全完整,但我试图首先解决哈希码问题。如果您能提供帮助,我将不胜感激。预先感谢您!

    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]);

}

学生类

公开课学生{

private String name;
private double gpa;
private boolean enrolled;
private String enrollDate;

public Student() {

    this.name = "";
    this.gpa = 0.0;
    this.enrolled = false;
    this.enrollDate = "none";

}

public Student(String name1) {
    this.name = name1;
    this.gpa = 0.0;
    this.enrolled = false;
    this.enrollDate = "none";
}

public void setName(String name) {
    this.name = name;
}

public String getName() {
    return this.name;
}

public void setGPA(double gpa) {
    this.gpa = gpa;
}

public double getGPA() {
    return this.gpa;
}

public void setEnrolled(boolean enrolled) {
    this.enrolled = enrolled;


}

public boolean getEnrolled() {
    return this.enrolled;
}

public void setDate(String date) {
}

}

最佳答案

这是因为您要将一个学生对象放入数组中:

Student student[] = new Student[5];
newStudent.getName();
student[i] = newStudent;

strList.add(newStudent);
System.out.println(student[i]);

在这里,当您打印时,您不是打印学生姓名,而是打印对象本身。每当您对对象执行 System.out.println 时,都会返回哈希码。

这是你的问题吗?

关于java - 打印哈希码来代替数组元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19845833/

相关文章:

java - 从 persistence.xml 获取值

java - 在 jLabel 上调整图像大小

java - 一个 URL 的请求处理程序不能在不同的 Controller 中

node.js - 在nodejs中将两个CRC32值合并为一个

java - 无法使用 Spring 引导将节点保存到 Neo4j

C - 更改矩阵的最后一个元素

c - 声明结构数组

arrays - Swift "-"CollectionTypes 上的二元运算符

python - python中强大快速的哈希函数(搜索算法)

passwords - 如何将密码哈希从 MD5 转换为 SHA?