尝试创建一个用户输入6个数字的for循环。然后验证每个数字以确定它是正数。然后将它们全部加起来进行小计。
在我的最后一行count += itemPrice;
我在count
上收到错误,说“本地变量可能尚未初始化”。我的一个伙伴似乎也无法弄清楚为什么会这样,并且想知道那是什么。
public static double namehere() {
double count;
for (int x = 0; x < 6; x++)
{
Scanner input = new Scanner (System.in);
System.out.println ("Price of Item: ");
double itemPrice = input.nextDouble();
while (itemPrice < 0.01)
{
Scanner input2 = new Scanner (System.in);
System.out.println ("Price of Item: ");
itemPrice = input.nextDouble();
}
count += itemPrice;
}
答案 0 :(得分:3)
double count; // not initialized
double count = 0; // initialized
默认情况下,本地原始变量不设置为0,因此必须显式初始化它们。
答案 1 :(得分:2)
如错误消息所示,您的count
变量未初始化。要解决错误,请使用默认值进行初始化,例如0
。
注意:局部变量不是隐式初始化的,不像类成员那样。
答案 2 :(得分:1)
局部变量的目的不同于实例变量的目的。局部变量可用作计算的一部分;实例变量包含状态。如果您使用局部变量而不为其赋值,那几乎肯定是逻辑错误,因此,编译器会抱怨..