2016-04-13 41 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

你知道如何遍歷數組的具體數量?你知道如何比較一個數字與另一個?你知道如何調用對象的方法(即:你知道如何調用學生[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

前兩個有兩個!調用對象的方法是我的第一本能,但我不太確定該怎麼做?我試圖用if if 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在我的Student類中並不是我的主類,所以它創建了一個錯誤,我需要在我的主 – Inez

+0

中創建getGPA()是的,getGPA方法將在Student類中因爲GPA是Student對象的一個​​屬性。只要你在Main方法中實例化Student類,你應該能夠訪問所有的Student方法,包括getGPA。你不應該收到任何錯誤。如果您仍然有錯誤,可能是因爲其他原因。發佈您的完整代碼,以便我們進一步幫助您。 – 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表示相同的範圍內實施。

注意,此實現適用於任何數量的數組元素的工作,而無需進行修改,其中已包含數組中