首页 > 解决方案 > 多类 Java 错误:Ljava.lang.String

问题描述

我必须制作 2 个类(Course.java 和 UseCourse.java)。我必须有 get course、courseName、addStudent、dropStudent、getStudent 和 getNumberOfStudent 等方法。

当我尝试运行这些文件时,我不断收到:

3名学生在Java编程:[Ljava.lang.String; @6bc7c054

有人可以解释这意味着什么以及我该如何解决吗?

使用课程.java

public class UseCourse{
    public static void main(String[] args){
        Course c1 = new Course("Java Programming", "Bob Brown");

        c1.getCourseName();
        c1.getStudents();
        c1.getNumberOfStudents();

        System.out.println(c1.numberOfStudents + " students are in "+
        c1.courseName + " : " + c1.students);

        //c1.dropStudent("Andrew Drew");
        c1.getStudents();
        c1.getNumberOfStudents();
        System.out.println(c1.numberOfStudents + " students are in "+
        c1.courseName + " : " + c1.students);
    }
}

课程.java

import java.util.Arrays;
import java.lang.String;

public class Course{
    String courseName;
    String[] students = {"Berry Cherry", "Lia Lee", "Andrew Drew"};
    int numberOfStudents;

    Course(String newCourseName, String newAddStudent){
        courseName = newCourseName;

// Not sure if I'm doing this right but I'm trying to 
// add the new student to the end of the list/array

        students[students.length -1] = newAddStudent; 
    }

    /*public void dropStudent{

    }*/

    public String getCourseName(){
        return courseName;
    }

    public String getStudents(){
        return Arrays.toString(students);
    }

    public int getNumberOfStudents(){
        numberOfStudents = students.length;
        return numberOfStudents;
    }
}


标签: javaclass

解决方案


因为这是 Array ( toString)的默认文本表示

所以使用这个:Arrays.toString(students)

System.out.println(c1.numberOfStudents + " students are in "+
        c1.courseName + " : " + Arrays.toString(c1.students));

推荐阅读