因此,编译器说第二个打印行语句中的inch变量需要初始化。这是为什么?为什么不能将变量保留为未知数?当我没有if / else语句时,则可以正常工作。
import java.util.Scanner;
class FeetToInchesInputOutput {
public static void main(String[] args){
double feet;
double inches;
String userFeetInput;
Scanner input = new Scanner(System.in);
System.out.print("How many feet do you want to convert?");
userFeetInput = input.nextLine();
feet = Double.parseDouble(userFeetInput);
if (feet < 500.0) {
inches = feet*12;
}
else {
system.out.println("Type a number less than 500.");
}
System.out.println(feet + " feet is equal to " + inches + " inches.");
System.exit(0);
}
}
最佳答案
Java不允许使用(在您的情况下为-打印)统一变量。在这里,如果feet
大于500
,则inches
不会被初始化,因此无法使用。解决此问题的一种方法是将打印内容移至if
语句:
if (feet < 500.0) {
inches = feet*12;
System.out.println(feet + " feet is equal to " + inches + " inches.");
} else {
system.out.println("Type a number less than 500.");
}
关于java - 变量可能尚未初始化-为什么需要初始化?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/33058195/