2016-04-13 17 views
-2

割り当ての一部については、gpaが3.0より大きい場合、学生が奨学金の対象にならないかどうかを教えてもらう必要がありますが、それをするだろうか?ここで がメイン配列を反復してgpaを確認する[Java]

Student[] student = new Student[3]; //create the array of students 
    student[0] = new Student("Tom", "Cooper", 3.5, "EE", "Junior"); 
    student[1] = new Student("Annie", "Todd", 2.3, "CS", "Sophomore"); 
    student[3] = new Student("Luis", "Rodriguez", 3.8, "INFO", "Sophomore"); 

で私の配列だと、私はコンストラクタが含まれている学生のクラスファイルを持っている

public Student(String firstName, String lastName, double gpa, String major, String year) { 
    this.firstName = firstName; 
    this.lastName = lastName; 
    this.gpa = gpa; 
    this.major = major; 
    this.year = year; 
    } 
public void setgpa(double gpa) { 
    this.gpa = gpa; 
    } 

    public double getgpa() { 
    return gpa; 

    } 

だから私の出力のために、私はちょうど3.0の上に持っている人が欲しい、私が想定していますforループが必要ですが、適格かどうか、またはメインやクラス内でどうやったら具体的にどのようにgpaをチェックするのかは正確には分かりませんか?

+3

に含まれている特定の番号に変更する必要がなく、配列の要素の任意の数のために働くことを

注あなたは、配列を反復処理する方法を知っていますか?数字と他の数字を比較する方法を知っていますか?オブジェクトのメソッドを呼び出す方法を知っていますか(つまり、student [0]のgetgpa()を呼び出す方法を知っていますか? – MyUsername112358

+1

ここに宿題の工場はありません。スタックオーバーフローは、狭義の技術的な質問のためのものです。 [this](http://stackoverflow.com/q/26766273/642706)、[this](http://stackoverflow.com/q/10202700/642706)、[this]など多くの類似の質問を調べることができます。 (http://stackoverflow.com/q/19507832/642706)。 –

+0

はい、最初の2つ!オブジェクトのメソッドを呼び出すことは私の最初の本能でしたが、私はそれを行う方法があまりにも分かりませんでしたか?私はgetgpa> = 3.0でループを実行してみましたが、エラーが発生していましたので、私は迷っています – Inez

答えて

0
for(int i=0; i < 3; i++) { 
    if(student[i].getGPA() > 3) { 
     System.out.println(student[i].getName()); 
    } 
} 
+0

これは私がここでそれを尋ねる前にそれをしたものですが、私のgetGPAは私のメインではない私の学生クラスにありますので、私のメインでgetGPA()を作成する必要があるというエラーが発生します – Inez

+0

はい、getGPAメソッドはStudentクラスGPAはStudentオブジェクトの属性であるためです。 MainメソッドでStudentクラスをインスタンス化している限り、getGPAを含むすべてのStudentメソッドにアクセスできるはずです。エラーは発生していないはずです。それでもエラーが出たら、それは他の何かのためかもしれません。私たちがあなたにさらに役立つようにあなたの完全なコードを投稿してください。 – VHS

+0

コードが間違っています。 Javaは大文字と小文字を区別する言語です。 getGPA()はgetgpa()と同じではありません。また、そのような宿題の答えを彼に与えることは全く役に立たない。 Stackoverflowは宿題工場ではありません。 – MyUsername112358

0

このようにすることができます。すべてを繰り返し、資格のある学生をリストに追加します。

public List<Student> getEligibleStudents(Student[] students){ 
    List<Student> eligibleStudents=new Arraylist<>(); 
    for(int i=0;i<students.length;i++){ 
     if(student[i].gpa>3.0){ 
      eligibleStudents.add(student[i]); 
     } 
    } 
    return eligiblStudents; 
} 
0
for (Student stud : student) { 
    if (stud.getGPA >= MINIMUMGPA) { 
     DO YOUR OUTPUT HERE; 
    } 
} 

これは、あなたのStudennt[] studentは、上記に示した初期化するのと同じ範囲で実施されます。この実装は、あなたの配列

関連する問題