我刚刚编写了过去几个月的编码,而我刚刚开始使用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。我经常在很多不同的练习中遇到这种错误。
有什么事情能让我立刻脱颖而出吗?我还应该提供更多信息吗?
谢谢!
答案 0 :(得分:4)
d = this.d;
这段代码应该是另一种方式。 this.d = d;
以及其他人。
this.var
表示对象的var
,而您在方法或构造函数中收到的变量并不以this