2016-10-02 62 views
0

對於我最後一篇文章中的這個非常類似的問題感到抱歉,但是我的問題與我最後一個問題略有不同。我已經得到了所有的東西來編譯和工作在我的項目中,但我不知道如何通過傳遞總點數和總量來爲我的課程中的student1和student2計算新的gpa。我的老師希望我們通過爲7個班級傳遞40個總分來計算student1的gpa,並通過爲8個班級傳遞36個總分來計算student2的gpa。就像我說的,我的代碼的其餘部分工作,我只是不知道如何做到這一點,因爲我還是相當新的編碼。答案可能很簡單,但我無法弄清楚我的生活。這裏是我的代碼:如何通過這些變量來計算我班的新GPA?

public class student 
{ 
    private String name; 
    private int year; 
    private int age; 
    private double gpa; 
    /* 
    * Default Constructor 
    */ 
    public student() 
    { 
     name = "John"; 
     year = 2016; 
     age = 16; 
     gpa = 4.0; 
    } 
    /* 
    * other constructor 
    */ 
    public student(String name, int year, int age, double gpa) 
    { 
     this.name = name; 
     this.year = year; 
     this.age = age; 
     this.gpa = gpa; 
    } 
    /* 
    * accessors 
    */ 
    public String getName() 
    { 
     return name; 
    } 
    public int getAge() 
    { 
     return age; 
    } 
    public int getYear() 
    { 
     return year; 
    } 
    public double getGpa() 
    { 
     return gpa; 
    } 
    /* 
    * mutators 
    */ 
    public void setName(String name) 
    { 
     this.name=name; 
    } 
    public void setGpa(double gpa) 
    { 
     this.gpa=gpa; 
    } 
    public void setYear(int year) 
    { 
     this.year=year; 
    } 
    public void setAge(int age) 
    { 
     this.age=age; 
    } 
    /* 
    * calculate GPA 
    */ 
    public double calcGpa(double points, int classes) 
    { 
     gpa = points/classes;  
     return gpa; 
    } 
    public String toString() 
    { 
    return name + year + age + gpa; 
    } 
} 



public class studentReal 
    { 
     public static void main(String[] args) 
     { 
      student student1= new student("Jackie Java", 2018, 16, 4.7); 
      student student2= new student("John Java", 2019, 15, 3.8); 
      student student3= new student(); 
      System.out.println(student1.getName() + ", class " + student1.getYear()+ ", " + student1.getAge() + ", " + student1.getGpa()); 
      System.out.println(student2.getName() + ", class " + student2.getYear()+ ", " + student2.getAge() + ", " + student2.getGpa()); 
      System.out.println(student3.getName() + ", class " + student3.getYear()+ ", " + student3.getAge() + ", " + student3.getGpa()); 
     } 
    } 
+0

你想作爲GPA參考使用什麼?他們在學校間差異很大 –

+0

我的老師只是希望我們按照gpa分班。她沒有設置GPA,儘管如果這有幫助的話,我們的學校一般只有5.0級。她希望學生1的總分超過7班,總分超過8班的36分。 – CrypticZero

+0

那你在掙扎什麼?這似乎是你的calcGpa功能的作用 –

回答

0

在你studentReal類,主要內方法,請爲每個學生使用您在Student類中創建的calcGpa方法。該方法就像變量一樣屬於該學生。

例如:

student1.calcGpa(40, 7); 
+0

更容易。謝謝。我一直只用student1.gpa(40,7);爲此,我完全忘記了我不得不使用clacGpa。謝謝 – CrypticZero

+0

沒問題,很樂意幫忙。 – WithoutRemorse

0

要使用的功能做到這一點你目前我會走這條路。

double newGpa = student.gpaCalc(<any number>, <any number>); 
student.setGpa(newGpa); 

你的其他選擇在calcGpa函數,調用setGpa函數,而不是返回值,或函數中設置它像這樣:

public double calcGpa(double points, int classes) 
    { 
     gpa = points/classes;  
     this.gpa = gpa 
} 
+0

好的,感謝您的幫助!這有效 – CrypticZero