【问题标题】:Set Instance Variables by Void Method instead of Getting Return Values通过 void 方法设置实例变量而不是获取返回值
【发布时间】:2015-05-21 10:28:00
【问题描述】:

我有一个默认构造函数setStudent

public void setStudent (String sName, int sTest1, int sTest2, int sTest3, int sTest4, double sOverall, String sGrade) {
  name = sName;
  test1 = sTest1;
  test2 = sTest2;
  test3 = sTest3;
  test4 = sTest4;
  overallMarks = sOverall;
  grade = sGrade;
}

*以及每个变量都需要settersgetters

我从用户那里得到test1 test2 test3 test4 的输入。


overallMarks 通过calOverall 计算:

public double calOverall(int t1, int t2, int t3, int t4) {

        double o = (((a1 / 100.0) * 20) + ((a2 / 100.0) * 20) + ((p / 100.0) * 10) + ((e / 100.0) * 50));

        return o;
    }

grade 是基于overallMarks 通过calGrade 计算得出的:

public String calGrade(double overallMarks) {

        if (overallMarks >= 85) {
            return "A";
        } else if (o >= 70) {
            return "B";
        } else if (o >= 60) {
            return "C";
        } else if (o >= 50) {
            return "D";
        } else {
            return "F";
        }
    }

我的main 在获得所有输入后创建学生对象的方法:

*当前使用所有返回值的函数

overall = studentList[studentIndex].calOverall(test1, test2, test3, test4);

grade= studentList[studentIndex].calGrade(overall);

studentList[studentIndex].setStudent(name, test1, test2, test3, test4, overall, grade);

但是,我意识到我的项目需要我通过设置适当实例变量的 void 方法来计算总分和成绩。


我可以知道如何将 overallgrade 的计算设置为 void 方法吗?

【问题讨论】:

    标签: java arrays function oop netbeans


    【解决方案1】:

    也许您没有返回值,而是将其保存在您的 overallMarks 变量中。

    calOverall是一个void方法来计算整体并保存

    public void calOverall(int t1, int t2, int t3, int t4) {
        overallMarks = (((a1 / 100.0) * 20) + ((a2 / 100.0) * 20) + ((p / 100.0) * 10) + ((e / 100.0) * 50));
    }
    

    然后使用您的 getter 方法来使用该值

    public double getOverallMarks() {
        return overallMarks;
    }
    

    在您调用的 main 方法中

    studentList[studentIndex].calOverall(test1, test2, test3, test4);
    

    然后获取值:

    double overall = studentList[studentIndex].getOverallMarks();
    

    【讨论】:

      猜你喜欢
      • 2023-03-07
      • 2012-07-14
      • 1970-01-01
      • 1970-01-01
      • 2011-12-27
      • 1970-01-01
      • 2015-10-03
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多