swing - Switch 语句有问题吗?

标签 swing switch-statement java

Possible Duplicate:
Switch without break

我正在制作一个小型计算器应用程序,当单击计算按钮时,将运行 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);
}

最佳答案

只是对其他答案的补充,通常首选使用多态性来切换案例:

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);

关于swing - Switch 语句有问题吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14033760/

相关文章:

java - 可滚动 (GridBagLayout) 面板内的空 JTables - 标题在列调整大小时折叠

java - 在 NetBeans 中从 AbstractTableModel 创建 JTable

java - leet Java程序中的非法转义

java - 无法在 Windows 上运行我的 Maven 项目

java - 将 XMl 文件转换为字符串

java - 从jtextfield获取整数值(从0开始)

java - 键入时更改 jTextField 的内容

java - 我该如何让我的开关回到主开关?

javascript - 在 switch/case 中使用 return 后还需要使用 break 吗?

java - 如何统计文本中字符出现的次数?