【问题标题】:the left hand side of the assignment is not a variable?赋值的左边不是变量吗?
【发布时间】:2013-09-01 21:32:46
【问题描述】:

我正在尝试进行设置,以便我的测试能够正常工作,但我不断收到关于赋值左侧不是以“flunking.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);
}

【问题讨论】:

  • 这个错误不言自明,flunking.gpa() 不是变量。
  • 在这里,您尝试将值分配给导致错误的方法而不是变量。

标签: java


【解决方案1】:

您正在尝试为方法分配值

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

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

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

【讨论】:

    【解决方案2】:

    也许有flunking.setGpa(newValue)flunking.gpa(newValue) 方法来更改值? .gpa() 只是返回值,从技术上讲,分配给它没有意义。

    【讨论】:

      猜你喜欢
      • 2011-10-31
      • 2012-06-29
      • 1970-01-01
      • 2012-07-06
      • 1970-01-01
      • 2021-02-09
      • 1970-01-01
      • 1970-01-01
      • 2011-01-18
      相关资源
      最近更新 更多