这是一个简单的问题。如何将double初始化为null?与在级别为空时一样,它将要求用户输入数据。否则,如果已经输入数据,它将要求用户覆盖保存更改。从下面的代码中,我只能运行“ if(level == null){”,而不能运行覆盖语句
public static void inValue() {
double level = null;
if(level == null){
System.out.println("Enter level: ");
level = sc.nextDouble();
pat1.setLevel(level);
break;
}
else{
System.out.println("Overwrite");
System.out.println("Enter level: ");
level = sc.nextDouble();
pat1.setLevel(level);
break;
}
}
Run Code Online (Sandbox Code Playgroud)
使用java.lang.Double而不是原始double。
A Double扩展Object并且可以为空。
例如:
Double level = null;
Run Code Online (Sandbox Code Playgroud)
API 在这里。
笔记
if由于level声明null在if/ else作用域之外,因此仅将执行该语句。break在这种情况下,您的陈述是无用的。