因此,编译器说第二个打印行语句中的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/

10-09 05:54