gpt4 book ai didi

java - 局部变量可能未初始化

转载 作者:行者123 更新时间:2023-11-30 04:33:37 25 4
gpt4 key购买 nike

Possible Duplicate:
Variable not Initialized - Although I am?

我对编程相当陌生,所以我想尝试制作一个简单的计算器,它不特定于像 + 这样的符号。不管怎样,我不太确定为什么这不起作用,因为据我所知,我已经做对了一切。

import java.util.Scanner;

public class calculator2 {

public static void main(String args[]){

Scanner tom = new Scanner(System.in);
double fnum, snum, answer;
int symbol;


System.out.println("Enter First Number");
fnum = tom.nextDouble();

System.out.println("Enter Comand, 1 = add, 2 = subtract, 3 = divide, 4 = multiply");
symbol = (int)tom.nextDouble();

System.out.println("Enter Second Number");
snum = tom.nextDouble();

switch (symbol){

case 1:
answer = fnum + snum;

case 2:
answer = fnum - snum;

case 3:
answer = fnum / snum;

case 4:
answer = fnum * snum;
}

System.out.println(answer);
}
}

最佳答案

在声明变量时为其分配默认值(初始化它),或者为开关提供默认情况:

选项 1:

double answer = 0;

选项 2:

switch(symbol) {
case 1:
...
default:
answer = 0;
}

请注意,您的代码中有一个严重的错误:您的案例的每个代码块都应以 break; 结尾,即

switch(symbol) {
case 1:
answer = fnum + sum;
break;
etc
default:
answer = 0;
}

否则以下情况的所有代码也会被执行。 switch case 就像一个 goto。

关于java - 局部变量可能未初始化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14005841/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com