私はこのことを練習しました。生徒のオブジェクトのリストを指定した クラスに保存するCourseManager5クラスを作成します。各生徒にはID、名前、スコアがあります。 enter image description here 方法は以下のとおりです:オブジェクトの配列-java-
- CourseManager5:属性を初期化し、作成コンストラクタクラスは、ユーザが 学生を追加し、学生のデータを表示することができます...ここでUMLダイアグラムであります
- getNStudents:現在の生徒の数を返します。
- addStudent:与えられたオブジェクトを持つ生徒をリストに追加します。コースがいっぱいになると、 "エラー:コースが満員です"というエラーメッセージが表示されます。
- displayStudent:インデックスiの生徒のすべてのデータを表示します。 は、次の手順を実行しますmainメソッドでTestCourseManager5と呼ばれるメインクラスを書く:
- それはCourseManager5オブジェクトを作成します。
- 次に、ユーザーからID、名前、およびスコアを読み取って3人の学生を追加します。
- 次に、クラス内のすべての生徒を表示します。
私はプログラムを書く..しかし、私はこの方法displayStudentとの問題を抱えて..私はなぜありません!
もう1つは方法ですaddStudent正しいですか?
ここに私のプログラムです:
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;}
/addStudentはリストにthegivenオブジェクトと学生が追加されます。コースがいっぱいの場合は、 それはエラーメッセージを出力します。「ERROR:COURSEがいっぱいになっている」私の方法であり、正しい/あなたは配列に渡された学生を追加することなく、あなたのaddStudent
方法で
public void addStudent (student newStudent){
if(nStudent < MAX_SIZE)
nStudent++;
else
System.out.println("ERROR: COURSE IS FULL");}
public int getNStudent(){
return nStudent;}
public void displayStudent(int i){// my problem here !
System.out.println(students[i].getId()+", "+students[i].getName()+", "+students[i].getScore());
}
}
いや、何が問題なのですか? – ifly6
私はdisplayStudentメソッドに問題があります。なぜ私は分かりませんか? – jeedo
問題は何ですか? – ifly6