有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java赋值的左侧不是一个变量?

我正在尝试设置它,以便我的测试能够正常工作,但我不断得到一个关于作业左侧的错误,它不是以“不及格”开头的行上的变量。gpa…’。关于我做错了什么有什么建议吗

/**
 * After we have added hours and quality points, we need to 
 * check that the gpa is (quality points) / hours
 */ 
@Test
public void gpa() {  
    flunking.gpa() = flunking.qualityPoints() / (double)flunking.hours();
    assertEquals(flunking.gpa(), 0.0, DELTA);
}

共 (2) 个答案

  1. # 1 楼答案

    也许有flunking.setGpa(newValue)flunking.gpa(newValue)方法来更改该值.gpa()只返回值,从技术上讲,赋值没有意义

  2. # 2 楼答案

    您正在尝试为方法赋值

    flunking.gpa() = flunking.qualityPoints() / (double)flunking.hours();
    

    由于qualityPointshours都包含flunking类中的值,因此这里不需要任何赋值,即只要让gpa根据需要返回该类中的计算值即可,例如

    public double getGPA() {
       return qualityPoints / (double)hours; 
    }