Cod*_*ver 0 java swing switch-statement
可能重复:
不间断切换
我正在制作一个小型计算器应用程序,当单击计算按钮时,会运行一个switch语句,但生成的数字不是它应该是的,我测试了我的输入,他们在这里工作的是switch语句:
switch (currentOp)
{
case "+" :
answer = Float.toString(inp1 + inp2);
case "-" :
answer = Float.toString(inp1 - inp2);
case "X" :
answer = Float.toString(inp1 * inp2);
case "/" :
answer = Float.toString(inp1 / inp2);
}
Run Code Online (Sandbox Code Playgroud)
JB *_*zet 10
只是对另一个答案的补充,使用多态通常是切换案例的首选:
public enum Operation {
ADDITION {
@Override
public float compute(float a, float b) {
return a + b;
}
},
SUBTRACTION {
@Override
public float compute(float a, float b) {
return a - b;
}
},
PRODUCT {
@Override
public float compute(float a, float b) {
return a * b;
}
},
DIVISION {
@Override
public float compute(float a, float b) {
return a / b;
}
};
public abstract float compute(float a, float b);
}
...
answer = currentOp.compute(inp1, inp2);
Run Code Online (Sandbox Code Playgroud)
你忘了打破所以你的案例陈述正在逐渐消失.试试这个:
case "+" : answer = Float.toString(inp1 + inp2); break;
case "-" : answer = Float.toString(inp1 - inp2); break;
case "X" : answer = Float.toString(inp1 * inp2); break;
case "/" : answer = Float.toString(inp1 / inp2); break;
Run Code Online (Sandbox Code Playgroud)
相关文档
| 归档时间: |
|
| 查看次数: |
194 次 |
| 最近记录: |