嗨,我是新的编码,无论如何,我的教授给我们一个问题,我有点困惑。我不断收到“错误:无法访问的声明RainFall ds = new RainFall(months);
”。现在我的代码还没有完成,它可能没有任何意义我继续使它变得更糟,因为我试图纠正它所以我提前道歉。无论如何这里是问题和代码
写一个降雨级别,将12个月中每个月的总降雨量存储到一系列双打中。程序应该有返回以下内容的方法:
全年的总降雨量 月平均降雨量 下雨最多的月份 雨量最少的月份
要求用户在您的主要输入12个值。在Rainfall类中编写一个mutator方法,为你的双精度数组添加值。你的主要应该调用你的Rainfall类的方法来获得并显示总数/平均值/最多/最少。 在完整的课程中演示课程。 (不接受月降雨量数字的负数)
import java.util.Scanner;
public class Hw5pr1
{
public static void main(String[] args)
{
Scanner rain = new Scanner(System.in);
double[] months = new double[12];
for (int a = 0; 0<12; a++)
{
months[a]=rain.nextDouble();
System.out.println(months[a]);
}
RainFall ds = new RainFall(months);
}
}
public class RainFall
{
private double month;
private double[] months1;
private double average;
private double largest;
private double smallest;
public RainFall(double[] months)
{
for (int b=0; b<12; b++)
{
months[b]=months1[b];
}
}
public double total()
{
for (int a=0; a<11; a++)
{
double month = months1[a]+month;
}
return month;
}
public double average()
{
average=month/12;
return average;
}
public double largest()
{
double largest = months1[0];
for (int a=0; a<1; a++)
{
if (months1[a]>largest)
{
largest = months1[a];
}
}
}
public double smallest()
{
double smallest = months1[0];
for (int a=0; a<1; a++)
{
if (months1[a]<smallest)
{
smallest = months1[a];
}
}
}
}
答案 0 :(得分:3)
因为你有一个无限循环:
// vvvvvv
for (int a = 0; 0 < 12; a++)
{
}
RainFall ds = new RainFall(months);
编译器能够确定0 < 12
始终为真。循环永远不会终止,因此无法访问它。我想你的意思是a < 12
。