我正在编写一个程序,能够操纵不同年份的降水数据,打印出平均年降雨量,月平均值等等。我的课程中有一个int[] getYears()
方法可以提取所有的可用年份并将这些作为整数数组返回。
这是我编译的代码,但我不确定我所做的是否真的是正确的:
public class Rainfall {
private RainfallYear[] rainfallYears = null;
private int[] getYears = null;
public int[] getYears() {
for (RainfallYear rainfallYearObject : rainfallYears) {
for (int i = 0; i < rainfallYears.length; i++) {
getYears[i] = rainfallYearObject.getYear();
}
}
return getYears;
}
public Rainfall(RainfallYear[] rainfallYears) {
super();
this.rainfallYears = rainfallYears;
}
}
以下是我的想法:
答案 0 :(得分:1)
假设您发布的内容是您的整个课程,请在此处提出改进方面:
1。)首次声明时,不需要为字段(rainfallYears和getYears)指定null。首次声明它们时,无需为它们分配任何内容。
2.。)更改getYears字段或getYears方法的名称。使用具有相同名称的字段和方法可能会让人感到困惑。
3。)您需要设置数组的大小,或者使用可变大小的内容,例如ArrayLists&lt; - 这将有助于解决您所说的困扰您的部分
4。)在你的for循环中,你有一个for-each循环(“每个rainYear in rainfallYears”)和一个for循环(按索引计算,在你的情况下为i)。选择一个或另一个,但你不需要两者。如果您坚持使用Arrays,请使用for循环(索引类型)
5.)在构造函数中,将getYears字段设置为等于getYears方法的结果(但同样重命名其中一个)。
6。)鉴于您的两个字段都是私有的,您可能希望使用公共getter方法使值可以在类外部访问(如果您完整地希望它们可以访问)。
希望这会有所帮助:)