Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/351.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何修复?变量可能尚未初始化_Java_Initialization - Fatal编程技术网

Java 如何修复?变量可能尚未初始化

Java 如何修复?变量可能尚未初始化,java,initialization,Java,Initialization,我得到一个错误: 返回租赁月;变量可能尚未初始化 我怎样才能修好它 public class Rainfall { double [] rainfallNumber; public double getTotalRainfall() { double totalRainfall = 0; for (int index = 0; index < rainfallNumber.length; index++) { totalRainfall

我得到一个错误:

返回租赁月;变量可能尚未初始化

我怎样才能修好它

public class Rainfall
{
   double [] rainfallNumber;

   public double getTotalRainfall() {
     double totalRainfall = 0;

     for (int index = 0; index < rainfallNumber.length; index++) {
         totalRainfall = totalRainfall+rainfallNumber[index];
        }
        return totalRainfall;
    }

    public double getAverageRainfall() {
        return getTotalRainfall() / rainfallNumber.length;
    }

    public int getMoreRainfallMonth() {
        double moreRain = rainfallNumber[0];
        int moreRainMonth = 1;

        for (int index = 0; index < rainfallNumber.length; index++) {
         if(rainfallNumber[index] > moreRain) {
             moreRain = rainfallNumber[index];
             moreRainMonth = index + 1;
            }
        }
        return moreRainMonth;
    }

    public int getLeastRainfallMonth() {
        double leastRain = rainfallNumber[0];
        int leastRainMonth;

        for (int index = 0; index < rainfallNumber.length; index++) {
         if(rainfallNumber[index] < leastRain) {
             leastRain = rainfallNumber[index];
             leastRainMonth = index + 1;
            }
        }
        return ***leastRainMonth***;
    }

   public Rainfall (double [] rainfallNumberGiven) {
       rainfallNumber = new double[rainfallNumberGiven.length];

       for (int index = 0; index < rainfallNumberGiven.length; index++) {
           rainfallNumber[index] = rainfallNumberGiven[index];  
        }
    }
}
公共类降雨
{
双倍数字;
公共双getTotalRainfall(){
两倍总降雨量=0;
对于(int index=0;indexmoreRain){
moreRain=rainfallNumber[索引];
moreRainMonth=指数+1;
}
}
每月返回一次;
}
public int getLeastRainfallMonth(){
double LeastTrain=rainfallNumber[0];
每月一次;
对于(int index=0;index
您必须在声明中初始化leastTrainMonth变量,就像在moreRainMonth中一样。

任何时候在循环外声明的循环中初始化变量,都有数组大小(或迭代次数)为零的风险,因此跳过初始化。您可以:

  • 选择要初始化的默认整数
    leastRainMonth
  • getLeastRainfallMonth()
    的返回类型更改为
    Integer
    并初始化
    Integer leastRainMonth=null(麻烦)
    
    在这种情况下,您可能应该执行第一个选项并初始化
    int leastRainMonth=1

    格式化代码,将错误移到顶部,添加了标记