如何在需要toString的void方法中解决输出

时间:2019-04-14 21:21:34

标签: java arrays tostring

我在一个示例中工作,我无法根据我在getAlumno(i)方法中使用的数组来解析输出ID。

我知道我必须使用toString来解决,但是所有组合都失败了。 你能帮我吗?

public Alumno getAlumno(int nAlumno) {  
    return arrayAlumnos[nAlumno];   
}       

public void getDatoAlumno(String nombreAlumno) {

    for(int i=0; i<arrayAlumnos.length;i++) {

        if(this.getAlumno(i)!=null) {

            if(arrayAlumnos[i].getNombreAlumno().equals(nombreAlumno)){             

                System.out.println("Nombre del Alumno: " + arrayAlumnos[i].getNombreAlumno() + 
                "\n" +  "Colegio: " + nombre + "\n" + "ID: " + this.getAlumno(i) + "\n" +
                arrayAlumnos[i].getNotaMedia());

                System.out.println("");         
            }
        }
    }
}

我希望输出的是ID号,而不是ID:com.nuevavidanz.colegio.Alumno@15db9742

1 个答案:

答案 0 :(得分:1)

您有两种解决方案:

  • 覆盖 Alumno 类中的toString方法。

您说您尝试过,但是没有用。我们可以看到实现了吗?

  • 第二个在调用this.getAlumno(i)函数时调用id变量。

尝试使用: this.getAlumno(i).getId()(如果已编写方法),或者 this.getAlumno(i).id (如果您的变量为< strong>公开