java—如何通过另一个类的方法调用示例变量类

vcirk6k6  于 2021-07-12  发布在  Java
关注(0)|答案(1)|浏览(466)

我正在为学校做一个项目,要求我为一所学校建立一个等级体系,我很难理解为什么当我有一个公共变量类时,不允许在另一个类的方法中调用它们。有人能举个例子或解释一下这是怎么回事吗?

public void AddEngGrade(Grades obj)
{
Scanner sc1 = new Scanner(System.in);

System.out.println("Which Grade would you like to enter");
System.out.println("");
System.out.println("Major");
System.out.println("Minor");
System.out.println("Other");
System.out.println("");

String gr = sc1.nextLine();

if(gr.equals("Major"))
{
  System.out.print("Please enter the grade here - ");
  obj.EngMajor = sc1.nextInt();
  obj.EngMajPoints += obj.EngMajor;
  obj.EngMajorTot++;
  obj.EngMajAvg = (obj.EngMajPoints/2)*(.6);
}

包含变量的类如下所示

import java.util.*;
public class Grades
{
public int EngMajor = 0;
public int EngMinor = 0;
public int EngOther = 0;
public int EngMajorTot = 0;
public int EngMinorTot = 0;
public int EngOtherTot = 0;
public double EngMajAvg = 0;
public double EngMinAvg = 0;
public double EngOtAvg = 0;
public int EngMajPoints = 0;
public int EngMinPoints = 0;
public int EngOtPoints = 0;
}
jtw3ybtb

jtw3ybtb1#

我认为你对待课程设计的方法是错误的。因为这是一个家庭作业,我不想提供一个解决方案。年级班不应该管它是主修课还是辅修课。成绩是学生修一门课所得到的。这门课算主修还是辅修是学生课程的一个属性。课程没有主次属性。
要计算专业的平均分、总分等,您需要迭代学生课程中属于该专业的课程的成绩。学生类可以有一个名为computemajorgpa()或computegpa(某些枚举)的方法。
我建议你避免使用复数形式的课程。我认为表示单个对象的类是更好的设计,多个对象应该由一个集合来处理。

相关问题