Java Printf Station正在生成不包括我通过扫描仪输入的数据的输出
一旦我在前面的语句中将数据输入到数组中,我就会尝试获取这些数据并打印,但是我得到了一个随机的数据输出,您可以在附加图像中看到 我的代码如下:Java Printf Station正在生成不包括我通过扫描仪输入的数据的输出,java,arrays,Java,Arrays,一旦我在前面的语句中将数据输入到数组中,我就会尝试获取这些数据并打印,但是我得到了一个随机的数据输出,您可以在附加图像中看到 我的代码如下: private void listStudent() { { System.out.printf("%s %-7s %14s %10s","ID","First Name","Last Name","Age\n"); for (int i= 0; i<count; ++i) { System.out.println(arr[
private void listStudent()
{
{
System.out.printf("%s %-7s %14s %10s","ID","First Name","Last Name","Age\n");
for (int i= 0; i<count; ++i)
{
System.out.println(arr[i]);
}
System.out.println();
Scanner scanner = new Scanner(System.in);
scanner.nextLine();
public class Student {
private String fname;
private final String lname;
double age;
private final String id;
int count;
我相信您要问的问题与以下输出有关: Student@55f96302. 这是因为这条线
System.out.println(arr[i]);
据我所知,您正试图打印学生对象信息,但Java无法以这种方式工作-如果您只打印一个数组项(这是一个对象),它将打印您Classname@hash
为了打印真实的学生数据,学生类还应该包含值的getter。因此,学生课堂将看起来像:
public class Student {
private String id;
private String fname;
private String lname;
private double age;
private int count;
Student(String id, String fname, String lname, double age, int count) {
this.id = id;
this.fname = fname;
this.lname = lname;
this.age = age;
this.count = count;
}
public String getId() {
return id;
}
public String getFname() {
return fname;
}
public String getLname() {
return lname;
}
public double getAge() {
return age;
}
public int getCount() {
return count;
}
}
然后在“for”循环中,您需要执行以下操作:
for (int i= 0; i<count; ++i)
{
System.out.println(arr[i].getId() + arr[i].getFname() + arr[i].getLname());
}
for(int i=0;iJava与Javascript非常不同。请尝试找出您试图编写代码的语言的名称,并适当地标记您的问题。不清楚您的问题是什么非常感谢,我知道我的错误在哪里,这现在很有意义!!!
for (int i= 0; i<count; ++i)
{
System.out.println(arr[i].getId() + arr[i].getFname() + arr[i].getLname());
}