对于我上一篇文章中的这个非常相似的问题感到抱歉,但我的问题与我的上一个问题略有不同。我已经完成了在我的项目中编译和工作的所有内容,但我不知道如何通过传递总分数和总课数来为我的班级中的student1和student2计算新的gpa。我的老师希望我们通过为7个班级总分40分来计算student1的gpa,并通过为8个班级总分36分来计算student2的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 :(得分: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
}
答案 1 :(得分:0)
在studentReal类中,在main方法中,使用您在Student类中为每个学生创建的calcGpa方法。该方法与变量一样,属于该学生。
例如:
student1.calcGpa(40, 7);