不兼容的类型:double [] []无法转换为double - java

我正在尝试解决此作业的问题。我目前处于困境,不胜感激可以帮助我纠正程序的任何帮助。

原始任务如下:

编写一个使用二维数组存储一年中每个月的最高和最低温度的程序。编写两种方法:一种用于计算并返回一年的平均高点,另一种用于计算并返回年的平均低点。您的程序应输出数组中的所有值,然后输出平均高点和平均低点。

这是我到目前为止已汇编的代码,但有一个我无法解决的错误。它是不兼容的类型:不能将double [] []转换为double。所涉及的行是Line 8和Line 110(程序中的最后一个返回值)。

import java.util.*;

public class Weather
{
 public static void main(String[] args)
  {

   double[][] tempData = getData();
   printTempData(tempData);  
   double avgHigh = averageHigh(tempData);
   double avgLow = averageLow(tempData);
   int indexHigh = indexHighTemp(tempData);
   int indexLow= indexLowTemp(tempData);

   System.out.format("The average high temperature is %4.1f%n", avgHigh);
   System.out.format("The average low temperature is %4.1f%n", avgLow);
   System.out.format("The index of high temperature is %2d%n", indexHigh);
   System.out.format("The index of low temperature is %2d%n", indexLow);

  }

 private static void printTempData(double[][] tempData)
  {
    System.out.format("%6s:%4s%4s%4s%4s%4s%4s%4s%4s%4s%4s%4s%4s%n","Month","Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec");
    System.out.format("%6s:","Low");

   for (int i = 0; i < tempData[0].length;i++)
   {
    System.out.format("%4.1s", tempData[0][i]);
   }
  System.out.format("%n");
  System.out.format("%6s: ","High"); 
   for (int i = 0; i < tempData[1].length; i++)
   {
     System.out.format("%4.1f", tempData[1][i]);
   }
  System.out.format("%n");
}

private static int indexLowTemp(double[][] tempData)
 {
  int index = 0;
  double temp = tempData[0][0];

    for (int i = 0; i < tempData[0].length; i++)
     {
        if (temp > tempData[0][i])
           { 
            temp = tempData[0][i];
            index = i;
            }
      }
       return index +1;
 }

private static int indexHighTemp(double[][] tempData)
  {
  int index = 0;
  double temp = tempData[1][0];
     for(int i = 0; i< tempData[1].length; i++)
        {
         if ( temp < tempData[1][i])
           {
            temp = tempData[1][i];
            index = i;
           }
        }

        return index + 1;
  }

 private static double averageHigh(double[][] tempData)
  {
   double avg = 0.0;
     for(int i=0; i < tempData[0].length; i++)
       {
        avg += tempData[0][i];
       }

     avg /= tempData[0].length;

     return avg;
  }

  private static double averageLow(double[][] tempData)
   {
   double avg = 0.0;
     for(int i=0; i > tempData[1].length; i++)
       {
        avg += tempData[0][i];
       }

     avg /= tempData[0].length;

     return avg;
  }


 private static double getData()
 {
  double[][] tempData = new double[2][12];
  Random r = new Random();

     for (int j = 0; j < tempData[0].length; j++)
     {
        tempData[0][j] = 30 + Math.sqrt(j) - r.nextDouble();
        tempData[1][j] = 30 + Math.sqrt(j) + r.nextDouble();
     }

    return tempData;
  }
}

参考方案

您已经声明了一个数组

      double[][] tempData = getData();

但您正在尝试致电

       private static double getData()

因此,错误“转换double [] []无法转换为double。”

因此更改为

       private static double[][] getData()

Java Double与BigDecimal - java

我正在查看一些使用双精度变量来存储(360-359.9998779296875)结果为0.0001220703125的代码。 double变量将其存储为-1.220703125E-4。当我使用BigDecimal时,其存储为0.0001220703125。为什么将它双重存储为-1.220703125E-4? 参考方案 我不会在这里提及精度问题,而只会提及数字…

如何从double中删除科学计数法以获得最长的double值 - java

我在Double值操作中遇到问题。让我们来,Double d = new Double(123456789987654321123456789d); System.out.println(d); 输出为:1.2345678912345678E35 但是我想要,123456789987654321123456789 没有任何符号的完整数字。我已经尝试使用Big…

将数字四舍五入到一定数量的Java - java

下午好仅想知道在Java中将值四舍五入到小数位数后最简单的方法。使用C#。double answer; double numberOne; double numberTwo; Console.WriteLine("Enter the numbers for your calculation"); numberOne = Double.Pa…

不兼容的类型:java.lang.Object无法转换为T - java

这是我的代码:package datastructures; import java.util.Iterator; public class Stack<T>{ private class Node<T>{ T data; Node next; } private int size; private Node head; privat…

Java-搜索字符串数组中的字符串 - java

在Java中,我们是否有任何方法可以发现特定字符串是字符串数组的一部分。我可以避免出现一个循环。例如String [] array = {"AA","BB","CC" }; string x = "BB" 我想要一个if (some condition to tell wheth…