我是编程新手,除了我的answer
变量之外,这个程序正在运行。除非我在第8行定义它,程序才会运行,即使我在switch语句中定义它。错误在第32行,并说明,
本地变量答案可能尚未初始化。
提前谢谢。
package learn;
import java.util.Scanner;
class calculator {
public static void main(String args[]) {
Scanner input = new Scanner(System.in);
double numberOne, numberTwo, answer;
System.out.println("Enter first number:");
numberOne = input.nextDouble();
System.out.println("Enter second number");
numberTwo = input.nextDouble();
String operation;
System.out.println("Enter operation (Valid operations are add, subtract, multiply, and divide)");
operation = input.next();
switch (operation) {
case "add":
answer = numberOne + numberTwo;
break;
case "subtract":
answer = numberOne - numberTwo;
break;
case "multiply":
answer = numberOne * numberTwo;
break;
case "divide":
answer = numberOne / numberTwo;
break;
default:
System.out.println("Invalid operation");
}
System.out.println(answer);
input.close();
}
}
答案 0 :(得分:0)
如果变量operation
不是有效选项,那么您的开关将执行默认选项,而不是打印出未初始化的变量answer
的值...
通过在声明变量后初始化变量来解决此问题。
答案 1 :(得分:0)
第32行的错误自我解释了解决问题所需做的事情:只需初始化iframe
变量。
例如,你应该写:
jQuery(document).ready(function($) {
$(".itakeover").fancybox({
// API options
type: "iframe"
}); // fancybox
}); // ready
您必须初始化该变量,因为您不能在切换前的代码中的任何位置使用变量answer
。然后,如果您的代码属于'默认值'切换案例变量double numberOne, numberTwo, answer;
answer = 0;
没有任何指定的值...那么将在第32行打印出什么?