对象数组-java-
我做了一个练习,我写了一个类CourseManager5,它在给定的时间内存储学生对象的列表 班每个学生都有一个id、姓名和分数。该类允许用户添加 学生,并显示学生的数据。。以下是UML图: 这些方法是:对象数组-java-,java,arrays,object,arrayobject,Java,Arrays,Object,Arrayobject,我做了一个练习,我写了一个类CourseManager5,它在给定的时间内存储学生对象的列表 班每个学生都有一个id、姓名和分数。该类允许用户添加 学生,并显示学生的数据。。以下是UML图: 这些方法是: CourseManager 5:初始化属性并创建大小为100的学生数组的构造函数 getNStudents:返回当前学生人数 addStudent:将具有给定对象的学生添加到列表中。如果课程已满, 它打印错误消息:“错误:课程已满” displayStudent:显示索引i处学生的所有数据。
- CourseManager 5:初始化属性并创建大小为100的学生数组的构造函数
- getNStudents:返回当前学生人数
- addStudent:将具有给定对象的学生添加到列表中。如果课程已满, 它打印错误消息:“错误:课程已满”
- displayStudent:显示索引i处学生的所有数据。
编写一个名为TestCourseManager5的主类,其main方法将
请执行以下操作:
- 它创建一个CourseManager5对象
- 然后,它通过读取用户的ID、姓名和分数来添加3名学生
- 然后,它显示课堂上的所有学生
import java.util.Scanner;
public class TestCourseManager5 {
public static void main(String[] args) {
Scanner s = new Scanner(System.in);
courseManager5 cm = new courseManager5();
int num =0;
for(int i =0; i < 3;i++){
System.out.println("Please enter the ID, name, and score of student "+num+":");
int id = s.nextInt();
String name = s.next();
double score = s.nextDouble();
student su = new student(id, name, score);
cm.addStudent(su);
num++;}
System.out.println("Student are: ");
for(int i=0;i<cm.getNStudent();i++){
cm.displayStudent(i);
}}}
public class student {
private int id;
private String name;
private double score;
public student(int id, String name, double score){
this.id = id;
this.name = name;
this.score = score;}
public int getId(){
return id;}
public String getName(){
return name;}
public double getScore(){
return score;}}
public class courseManager5 {
private student []students;
private int nStudent;
public static int MAX_SIZE = 100;
public courseManager5(){
students = new student[MAX_SIZE];
nStudent = 0;}
import java.util.Scanner;
公共类TestCourseManager 5{
公共静态void main(字符串[]args){
扫描仪s=新的扫描仪(System.in);
CourseManager 5 cm=新CourseManager 5();
int num=0;
对于(int i=0;i<3;i++){
System.out.println(“请输入学生的ID、姓名和分数”+num+“:”);
int id=s.nextInt();
字符串名称=s.next();
双倍分数=s.nextDouble();
学生su=新学生(id、姓名、分数);
cm.addStudent(su);
num++;}
System.out.println(“学生是:”);
对于addStudent
方法中的(int i=0;i),您没有将传入的学生添加到数组中。请尝试以下操作:
students[nStudent] = newStudent;
public void addStudent (student newStudent){
if(nStudent < MAX_SIZE)
students[nStudent++] = newStudent;
else
System.out.println("ERROR: COURSE IS FULL");}
您的问题出现在addStudent()中。您从未将学生添加到数组中。因此,这导致displayStudent()中出现null。请尝试以下操作:
students[nStudent] = newStudent;
public void addStudent (student newStudent){
if(nStudent < MAX_SIZE)
students[nStudent++] = newStudent;
else
System.out.println("ERROR: COURSE IS FULL");}
public void addStudent(学生新闻学生){
如果(学生<最大尺寸)
学生[nStudent++]=新学生;
其他的
System.out.println(“错误:课程已满”);}
是的,问题出在哪里?我对方法displayStudent有问题,我不知道为什么???问题出在哪里?谢谢你..它起作用了..我下周要考试..你知道youtube上有哪个频道可以帮助我处理对象数组..因为我对它知之甚少..再次感谢你..如果它起作用了,请投票回答并接受它为answ为了更好地理解java数组,请看看这个和这个。