鐘鐘空 2021-01-20 14:40 采纳率: 75%
浏览 52
已采纳

编写计算器模拟器代码时遇到的一些问题

做一个模拟计算器的练习,中间加注释的这段代码运行不成功,结果如下,输出的数是一个随机数吧,而且没有执行switch,有点儿不明白问题出在哪儿了,

加注释下的那段儿代码就能成功运行,这是结果

有点儿不明白加注释的那段儿代码问题出在哪儿,希望有能大佬帮帮忙~~~

  public class A {
    
        public static void main(String[] args) {
        java. util. Scanner s = new java . util. Scanner (System.in) ;    
        System. out.println("欢迎使用简单计算器系统: ") ;
                
        System. out.print("请输入第一个数字: ") ;
        int num1=s.nextInt() ;    
        
        System. out.print("请输入运算符: ") ;
        String sta=s.next() ;
        
        System. out.print("请输入第二个数字: ") ;
        int num2=s.nextInt() ;      
        
        /*
                switch (sta) {
            case "+" :
                System.out.println(num1+'+'+num2+'='+num1+num2) ;
                break;
            case "-" :
                System.out.println(num1+'-'+num2+'='+num1-num2) ;
                break;
            case "*" :
                System.out.println(num1+'*'+num2+'='+num1*num2) ;
                break;
            case "%" :
                System.out.println(num1+'%'+num2+'='+num1%num2) ;
            case "/" :
                System.out.println(num1+'/'+num2+'='+num1/num2) ;    
                break;
            default:
                System. out.println ("对不起,您输入的内容非法") ;    
        }
      */
        int result = 0;
        switch (sta) {
            case "+" :
                result = num1+num2 ;
                break;
            case "-" :
                result = num1-num2  ;
                break;
            case "*" :
                result = num1*num2  ;
                break;
            case "%" :
                result = num1%num2  ;
            case "/" :
                result = num1/num2  ;    
                break;
            default:
                System. out.println ("对不起,您输入的内容非法") ;    
        }
        System. out.print("计算结果为: "+num1+sta+num2+"="+result) ;
    }
        }
 

  • 写回答

3条回答 默认 最新

  • 纯白微风<alert> 2021-01-20 14:53
    关注

    用双引号不要用单引号,java每个case后面要加break退出,不然匹配到的之后不退出的话,后面的case也会执行。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

悬赏问题

  • ¥15 matlab实现基于主成分变换的图像融合。
  • ¥15 对于相关问题的求解与代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 信号傅里叶变换在matlab上遇到的小问题请求帮助
  • ¥15 保护模式-系统加载-段寄存器
  • ¥15 电脑桌面设定一个区域禁止鼠标操作
  • ¥15 求NPF226060磁芯的详细资料
  • ¥15 使用R语言marginaleffects包进行边际效应图绘制
  • ¥20 usb设备兼容性问题
  • ¥15 错误(10048): “调用exui内部功能”库命令的参数“参数4”不能接受空数据。怎么解决啊