Java 显示对象数组的详细信息
您好,我对编程非常陌生,我正在尝试在eclipse中编写一个程序,它可以执行以下操作Java 显示对象数组的详细信息,java,arrays,methods,Java,Arrays,Methods,您好,我对编程非常陌生,我正在尝试在eclipse中编写一个程序,它可以执行以下操作 创建一个具有4个属性的学生类:姓名、分数、课程和电话号码,这些属性由用户输入 有一个构造函数可以初始化传入参数的这四个属性,还有一个display()方法可以显示学生的详细信息 声明包含5个学生对象的空数组 使用这些变量在数组的当前位置创建学生对象 创建一个循环,调用数组中每个学生的display()方法 到目前为止,我已经让这个程序工作到这样一个地步:它创建了5个学生的数组,并读取用户的四个不同属性。但我
- 创建一个具有4个属性的学生类:姓名、分数、课程和电话号码,这些属性由用户输入
- 有一个构造函数可以初始化传入参数的这四个属性,还有一个display()方法可以显示学生的详细信息
- 声明包含5个学生对象的空数组
- 使用这些变量在数组的当前位置创建学生对象
- 创建一个循环,调用数组中每个学生的display()方法
import java.util.Scanner;
public class Student {
private String name, course;
private int mark, number;
public Student(String nameIn, String courseIn, int markIn, int numberIn)
{
this.name = nameIn;
this.course = courseIn;
this.mark = markIn;
this.number = numberIn;
}
public void display()
{
System.out.println("Name: " + this.name + " Course " + this.course + " mark: " + this.mark + " Number " + this.number);
}
public static void main (String[] args)
{
String[] Student = new String[5];
Scanner scanner = new Scanner(System.in);
for (int counter=0; counter< 5; counter++)
{
System.out.println("Enter name for student " + counter);
Student[counter] = scanner.nextLine();
System.out.println("Enter course for student " + counter);
Student[counter] = scanner.nextLine();
System.out.println("Enter mark for student " + counter);
Student[counter] = scanner.nextLine();
System.out.println("Enter number for student " + counter);
Student[counter] = scanner.nextLine();
}
for (int counter=0; counter< 5; counter++)
{
System.out.println(Student[counter].display());
}
}
}
import java.util.Scanner;
公立班学生{
私有字符串名称,课程;
私有整数标记、数字;
公立学生(字符串名称、字符串课程名称、整数标记、整数编号)
{
this.name=nameIn;
this.course=courseIn;
this.mark=markIn;
this.number=numberIn;
}
公共空间显示()
{
System.out.println(“Name:+this.Name+“Course”+this.Course+“mark:+this.mark+“Number”+this.Number”);
}
公共静态void main(字符串[]args)
{
字符串[]学生=新字符串[5];
扫描仪=新的扫描仪(System.in);
用于(int计数器=0;计数器<5;计数器++)
{
System.out.println(“输入学生姓名”+计数器);
学生[计数器]=scanner.nextLine();
System.out.println(“为学生输入课程”+计数器);
学生[计数器]=scanner.nextLine();
System.out.println(“为学生输入分数”+计数器);
学生[计数器]=scanner.nextLine();
System.out.println(“为学生输入编号”+计数器);
学生[计数器]=scanner.nextLine();
}
用于(int计数器=0;计数器<5;计数器++)
{
System.out.println(学生[计数器].display());
}
}
}
PS如果我把这个问题贴错了,请提前道歉。这是我的第一篇文章,我在其他地方找不到类似的问题。
提前感谢。您当前的代码既不能创建
学生数组,也不能正确填充它(每个循环都会覆盖以前的数据)
此外,您调用display
的方式也不正确:
System.out.println(Student[counter].display());
首先,您希望在学生
的实例上调用显示
,而不是在类上调用。
其次,您不必调用System.out.println
,因为display
已经完成了这项工作(并且使用void
参数调用System.out.println
,因为display
方法不返回任何结果,将毫无用处)
试着这样做:
Student[] students = new Student[5];
for (int counter=0; counter< 5; counter++)
{
System.out.println("Enter name for student " + counter);
String name = scanner.nextLine();
System.out.println("Enter course for student " + counter);
String course = scanner.nextLine();
System.out.println("Enter mark for student " + counter);
String mark = scanner.nextLine();
System.out.println("Enter number for student " + counter);
String number = scanner.nextLine();
Student student = new Student(name, course, mark, number);
students[counter] = student;
}
for (int counter=0; counter< students.length; counter++)
{
students[counter].display();
}
Student[]Student=新生[5];
用于(int计数器=0;计数器<5;计数器++)
{
System.out.println(“输入学生姓名”+计数器);
字符串名称=scanner.nextLine();
System.out.println(“为学生输入课程”+计数器);
字符串course=scanner.nextLine();
System.out.println(“为学生输入分数”+计数器);
字符串标记=scanner.nextLine();
System.out.println(“为学生输入编号”+计数器);
字符串编号=scanner.nextLine();
学生=新学生(姓名、课程、分数、编号);
学生[柜台]=学生;
}
for(int counter=0;counter
虽然你是对的,但你也没有解决他的问题。他在问如何显示每个学生的相关信息。我们应该尽可能地回答他的问题,而不给他一个有效的解决方案,你不觉得吗?他因程序中的错误而遇到的任何问题都是他需要学习的,而不是我们代表他解决的。