新手:项目设置为零

时间:2017-05-15 02:59:23

标签: java

我刚刚编写了过去几个月的编码,而我刚刚开始使用Java。

当我测试一些代码时,我收到了这些奇怪的错误消息。

在我的一个练习中,我有这个类WeatherRecord。我这样定义:

class WeatherRecord {
  Date d;
  double precipitation; 
  TemperatureRange today;
  TemperatureRange normal;
  TemperatureRange record;

  WeatherRecord(Date d, double precipitation, TemperatureRange today, 
  TemperatureRange normal, TemperatureRange record) {
    d = this.d;
    precipitation = this.precipitaiton;
    today = this.today;
    normal = this.normal;
    record = this.record;
  }  
似乎花花公子。我也有一些评论和方法,但我把它们排除在外。

然后,在我的例子中,我做了一个例子,如下:

WeatherRecord record2 = new WeatherRecord(this.date2, 0.24,
      this.temp2, this.tempNormal, this.coldTemp);

其中date2,temp2以及之前定义的所有内容。

然后我使用测试器库进行检查以确保降水量设置为0.24(因为我的一种方法没有提前工作,所以我正在检查):

 boolean test(Tester t) {
   return t.checkExpect(this.record2.precipitaiton, 0.24); 

 }

我的控制台告诉我实际值是0.0,而不是.24。我经常在很多不同的练习中遇到这种错误。

有什么事情能让我立刻脱颖而出吗?我还应该提供更多信息吗?

谢谢!

1 个答案:

答案 0 :(得分:4)

d = this.d;这段代码应该是另一种方式。 this.d = d;

以及其他人。

this.var表示对象的var,而您在方法或构造函数中收到的变量并不以this

开头