当前位置: 首页 > 面试题库 >

打印出数组列表中的所有对象

丁震博
2023-03-14
问题内容

我需要能够在数组列表中打印出Student对象(所有变量)。这可能吗?当我尝试打印时,它会输出此类内容student.Student@82701e。我认为是hexadecimal这样

这是我的代码:

package student;

public class Student {

    private String studentName;
    private String studentNo;
    private String email;
    private int year;


    public Student() {
        this.studentName = null;
        this.studentNo = null;
        this.email = null;
        this.year = -1;
    }

    public Student(String nName, String nNum, String nEmail, int nYr) {
        this.studentName = nName;
        this.studentNo = nNum;
        this.email = nEmail;
        this.year = nYr;
    }

    public void setStudentName(String newStudentName) {
        this.studentName = newStudentName;
    }

    public void setStudentNo(String newStudentNo) {
        this.studentNo = newStudentNo;
    }

    public void setEmail(String newEmail) {
        this.email = newEmail;
    }

    public void setYear(int newYear) {
        this.year = newYear;
    }

    public String getStudentName() {
        return studentName;
    }

    public String getStudentNo() {
        return studentNo;
    }

    public String getEmail() {
        return email;
    }

    public int getYear() {
        return year;
    }
}

package student;

import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;

public class studentTest {

    public static void main(String[] args) {
        Scanner input = new Scanner(System.in);



        List<Student> Students = new ArrayList();


        Student student1 = new Student();

        student1.setStudentName("Bob Marley");
        student1.setStudentNo("N0002");
        student1.setEmail("student2@student.com");
        student1.setYear(2);

        Students.add(student1);

        Student student2 = new Student();

        student2.setStudentName("Bill Harvey");
        student2.setStudentNo("N0003");
        student2.setEmail("student3@student.com");
        student2.setYear(2);

        Students.add(student2);

        Student student3 = new Student();

        student3.setStudentName("John Beans");
        student3.setStudentNo("N0004");
        student3.setEmail("student4@student.com");
        student3.setYear(2);

        Students.add(student3);


        System.out.println("Add new students: ");
        System.out.println("Enter number of students to add: ");
        int countStudents = input.nextInt();

        for (int i = 0; i < countStudents; i++) {
            Student newStudents = new Student();


            System.out.println("Enter details for student: " + (i + 1));

            System.out.println("Enter name: ");
            newStudents.setStudentName(input.next());

            System.out.println("Enter Number: ");
            newStudents.setStudentNo(input.next());System.out.println("Search by student number: ");



            System.out.println("Enter email: ");
            newStudents.setEmail(input.next());

            System.out.println("Enter year: ");
            newStudents.setYear(input.nextInt());
            Students.add(newStudents);
        }


    }
}

问题答案:

类中的重写toString()方法Student如下:

   @Override
   public String toString() {
        return ("StudentName:"+this.getStudentName()+
                    " Student No: "+ this.getStudentNo() +
                    " Email: "+ this.getEmail() +
                    " Year : " + this.getYear());
   }


 类似资料:
  • 我需要能够打印出数组列表中的学生对象(所有变量)。这可能吗?当我尝试打印时,它会输出类似的内容,例如。我想是十六进制之类的 这是我的代码:

  • 我无法打印我的数组列表对象。 下面是我的第一个返回arraylist对象的类: } 物品是:约翰 物品是:乔 但当我检索到另一个类时,它不起作用。 下面是我的第二个类来检索数组列表对象并显示它: 运行这个之后,它会打印出来:什么都没有 如果我像这样打印 System.out.println("NAME"arr.toString()); 它给了我名字:[]; 有人能解释为什么它不起作用吗(在第二节课

  • 问题内容: 我正在尝试打印a的所有元素,但是它打印的是指针而不是值。 这是我的打印代码… 任何人都可以帮助我,为什么它没有体现出要素的价值。 问题答案: 这是有关打印出列表组件的一些示例: public class ListExample { } class Model { }

  • 我有一个简短的问题 我有飞行、水上课程和动物课程 如果我只想打印出动物对象数组中的飞行物体 做这样的事安全吗 或 执行此操作并重写toString方法 我是java新手,所以我甚至不确定这两个是否正确。所以欢迎任何帮助 谢谢你的帮助 编辑- 对不起,模棱两可的问题这是我问题的一个例子 我可以做输出 = A.toString() 来获取对象字符串还是我必须做 并重写toString方法以打印出类和示

  • 问题内容: 我正在尝试用Java格式化两个数组以打印如下内容: 我正在使用以下代码: 但是我得到的是格式不正确的结果: 如何将所有列直接排列在顶部标题的下面? 有没有更好的方法可以做到这一点? 问题答案: 您应该看一下格式: 这将提供15个插槽,并在需要时在其中填充空格。 但是,我注意到您没有对数字进行右对齐,在这种情况下,您需要在书本字段中左对齐: 这是一个工作片段示例: 导致:

  • 问题内容: 是否有一条SQL命令将列出数据库中的所有表,并且该命令与提供程序无关(可在MSSQLServer,Oracle,MySQL上运行)? 问题答案: 最接近的选项是查询表。 它是标准SQL的一部分,但并非所有供应商都支持它。据我所知,唯一支持它的RDBMS供应商是: 的MySQL PostgreSQL的 微软SQL服务器2000年/ 2005年/ 2008年 一些品牌的数据库,例如Orac