打印TreeSet的<CustomClass>返回一个奇怪的打印?

SlimShadys:

所以,我有三大类:

  • 实验室
  • 学生
  • 考试

我需要在输入学生的ID,加上考试类的考试为TreeSet的与考试类型,这一切学生类中。

这样做之后,我需要打印该TreeSet中有一个Iterator ..但我得到的是一些奇怪的:[email protected]不是。

我创建了迭代器,并通过了TreeSet的,但代码将无法正常工作。

这里的文件。

Lab.java

public class Lab {

    public static void main(String[] args) {

        Student stu = new Student();

        Student.insert();
        System.out.println("Insert ended.\n");

        stu.print();
        System.out.println("\nEnd of the program.");

    }

}

Student.java

import java.util.Iterator;
import java.util.Scanner;
import java.util.Set;
import java.util.TreeSet;

public class Student implements Comparable<Student>{

    private static int ID;

    private static Set<Exam> exams = new TreeSet<Exam>();

    public static void insert() {

        Scanner input  = new Scanner(System.in);
        Scanner input1 = new Scanner(System.in);
        Scanner input2 = new Scanner(System.in);
        Scanner input3 = new Scanner(System.in);

        int exam_code = 1;
        String exam_name;
        int exam_grade;

        System.out.println("Student's ID: ");
        ID = input.nextInt();

        System.out.println("--- EXAMS INSERT ---");

        while (exam_code != 0) {

            System.out.println("Exam's code: ");
            exam_code = input1.nextInt();

            if (exam_code == 0) {
                break;
            }

            else {

                System.out.println("Exam's name: ");
                exam_name = input2.nextLine();

                System.out.println("Exam's grade: ");
                exam_grade = input3.nextInt();

                exams.add(new Exam(exam_code, exam_name, exam_grade));

            }

        }

        input.close();
        input1.close();
        input2.close();
        input3.close();

    }

    public void print() {

        System.out.println("ID: " + ID);

        System.out.println("\nExams done: ");

        Iterator<Exam> es = exams.iterator();

        boolean hasnext = false;

        while (hasnext != true) {

            if (es.hasNext()) {

                System.out.println(es);

                hasnext = true;
            }

            else {
                hasnext = false;
            }
        }

    }

    @Override
    public int compareTo(Student o) {
        // TODO Auto-generated method stub
        return 0;
    }

}

Exam.java


public class Exam implements Comparable<Exam>{

    public int exam_code;
    private String exam_name;
    private int exam_grade;

    public Exam(int code, String name, int grade) {

        exam_code = code;
        exam_name = name;
        exam_grade = grade;

    }

    @Override
    public int compareTo(Exam o) {
        // TODO Auto-generated method stub
        return 0;
    }

}
叶戈尔·扎伊采夫:

更换

System.out.println(es);

System.out.println(es.next());

编辑:更好地更换整个打印()方法

public void print() {

        System.out.println("ID: " + ID);

        System.out.println("\nExams done: ");

        for (Exam exam : exams) {
            System.out.println(exam);
        }

    }

因为你不需要自己来实现迭代,对,在每一个Java循环对于这种情况。

编辑:用iterator

public void print() {

    System.out.println("ID: " + ID);

    System.out.println("\nExams done: ");

    Iterator<Exam> es = exams.iterator();

    while (es.hasNext()) {
        System.out.println(es.next());
    }
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

来自分类Java

爪哇 - 当一个JFrame关闭如何打印邮件?

来自分类Java

打印出一个过滤流的对象的某些字段

来自分类Java

如何有一个程序打印的位置?

来自分类Dev

如何打印一个对象,请在NQP

来自分类Java

如何打印一个字了用户输入的

来自分类Java

从一个ListView JavaFX的打印

来自分类PHP

在foreach中一次打印一个值

来自分类Java

从上到下打印一个ArrayList of Integers并将每个元素作为字符串返回

来自分类Java

我的一个方法使用了在另一个方法中返回的变量。我无法获得第二种打印或计算方法

来自分类Java

从哈希图打印一个值到屏幕-一次打印多个值?

来自分类Dev

函数返回并排打印的Rmarkdown绘图内的多个绘图,而不是一个在另一个上方

来自分类Dev

如何展平一个numpy矩阵进行打印

来自分类Dev

为什么C ++使用CustomClass **而不是CustomClass *创建返回CustomClass指针列表的函数?

来自分类Dev

MySQL结果打印多于一个

来自分类Dev

Lua打印一个嵌套表

来自分类Dev

编写一个函数,该函数返回并打印列中所有值中的最大值

来自分类Dev

在处理中一次打印一个值

来自分类Dev

Python / Selenium webdriver。在页面上找到一个元素并打印/返回它的xpath

来自分类Dev

返回/打印第一个数字超过20,最后一个数字超过20

来自分类Dev

从该行的最后一个外观打印

来自分类Dev

一个打印语句,两个变量在两个不同的行上打印

来自分类Dev

如何返回并打印出第一个字符串(string1)的起始地址?

来自分类Dev

C ++,我如何打印一个substr?

来自分类Dev

打印时还有一个空白页

来自分类Dev

从一个文件打印行数,从另一个文件打印总数

来自分类Dev

在for循环中打印多行,但仅一次打印第一个打印请求

来自分类Dev

打印一个Numpy数组

来自分类Dev

我如何打印存储在函数中的值,函数返回一个指针

来自分类Dev

打印更改一个值的重复项

TOP 榜单

热门标签

归档