代码之家  ›  专栏  ›  技术社区  ›  Brendan McDonnell

应为:参考。找到:双精度。参数错误。发生了什么?

  •  0
  • Brendan McDonnell  · 技术社区  · 7 年前

    我正在编写一段代码,它使用递归来找到期末考试所需的最低分数。在我的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
    

    “必需:引用。找到:双精度”是什么意思?我没有发现我调用任何参数的方式有任何问题。。。请帮帮我。

    2 回复  |  直到 7 年前
        1
  •  2
  •   Roman Puchkovskiy    7 年前

    代替 ArrayList<double> 具有 ArrayList<Double> .

    double 是基元类型,不能用作类型参数。其参考对应物为 Double .

        2
  •  0
  •   developer_hatch    7 年前

    ArrayList<double> 应替换为 ArrayList<Double> ,在Java中,位于<&燃气轮机;始终使用类或接口类型,而不是基元类型(double、int、byte、char,这些都是基元类型)。

    我建议您使用一些IDE来工作,如果您正在开始,这种错误将通过IDE本身的建议得到纠正,您可以尝试使用IntelliJ或Eclipse