我正在编写一个代码,使用递归来查找我在决赛中所需的最低成绩。在我的MinimumGradeFinder类中,我有以下内容:
public ArrayList<double> calculateGrades(int currIndex, double[] setNumbers,
double[] volatileNumbers, double targetAvg,
int totalCount, int maxGrade) {
// A bunch of code
caclulateGrades(currIndex + 1, setNumbers, volatileNumbers,
targetAvg, totalCount, maxGrade);
return minCombos;
// A private ArrayList<double> intitialized at the top of the class
}
它抛出以下错误:
MinimumGradeFinder.java:13: error: unexpected type
public ArrayList<double> calculateGrades(int currIndex,
double[] setNumbers, double[] volatileNumbers, double
targetAvg, int totalCount, int maxGrade) {
^
required: reference
found: double
MinimumGradeFinder.java:58: error: cannot find symbol
caclulateGrades(currIndex + 1, setNumbers,
volatileNumbers, targetAvg, totalCount, maxGrade);
^
symbol: method caclulateGrades(int,double[],double[],double,int,int)
location: class MinimumGradeFinder
2 errors
exit status 1
什么意思是“必需:参考。发现:双倍”?我没有看到我调用任何参数的方式有什么问题...请帮帮我。
用ArrayList<double>
替换ArrayList<Double>
。
double
是原始类型,不能用作类型参数。它的参考对应物是Double
。
ArrayList<double>
应该被替换为ArrayList<Double>
,在Java中,<>内部始终是类或接口类型,而不是基本类型(double,int,byte,char,那些是原始类型)。
我建议你使用一些IDE来工作,如果你开始使用更多,那么这种错误将通过IDE本身的建议得到纠正,你可以尝试使用IntelliJ或Eclipse