我正在尝试构建一个基本的重量计算器,并遇到“变量weightOut可能尚未初始化”错误。谷歌似乎表明这是因为我需要初始化“weightOut”而不是仅仅设置它“=weightIn * .78”。这是真的?这是我的代码。
Scanner keyboard = new Scanner(System.in);
int weightIn, planetNumber;
double weightOut;
System.out.print("What is your weight? ");
weightIn = keyboard.nextInt();
System.out.println("I have information for the following planets: ");
System.out.println(" 1. Venus ");
...
System.out.print("What planet are you going to? ");
planetNumber = keyboard.nextInt();
if( planetNumber == 1 )
{
weightOut = weightIn * 0.78;
}
...
System.out.println("Your weight would be " + weightOut +
" on that planet.");
最佳答案
局部变量未使用默认值进行初始化。局部变量应在使用前进行初始化。
double weightOut = 0.0;
如果 if
语句在运行时从未真正执行过怎么办?编译器实际上担心的是,如果在运行时局部变量无法获取值并且您在其他地方使用它,那么它应该给它的值没有默认值!
关于java - 变量未初始化 - 我必须设置一个变量,而不是仅仅在 if 语句中添加它吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17692775/