java吧 关注:1,242,496贴子:12,716,737
  • 35回复贴,共1
关于最后那个输出
例如我输入的是1+1,最后不是应该输出1+1吗?但是运行后给我来了个45.0,给我整蒙了,有没有老哥解释一下?


IP属地:广东来自iPhone客户端1楼2021-12-25 13:18回复
    顶一下


    IP属地:广东来自iPhone客户端2楼2021-12-25 13:20
    回复
      中午没人吗?


      IP属地:广东来自iPhone客户端3楼2021-12-25 13:29
      回复
        加号ascii的值是43呗


        IP属地:黑龙江来自Android客户端4楼2021-12-25 13:44
        收起回复
          你看看数据类型


          来自Android客户端5楼2021-12-25 13:48
          收起回复
            这应该用ArrayList 吧
            或者不用键盘录取char ,直接打印a+’’+’’+b吧
            我也是新手,不知道说的对不对


            IP属地:上海来自iPhone客户端6楼2021-12-25 14:05
            收起回复
              加减乘除的话必须加判断,如果输入的char是"+"的话直接写死输出a+b即可,其他运算同理。char实际上也是二进制的数值,'+'的编码值为43,所以结果就是45


              IP属地:贵州来自Android客户端7楼2021-12-25 14:14
              回复
                char和double,int类型加会先把char转成ASCII然后按数字相加


                IP属地:湖北来自Android客户端9楼2021-12-25 14:22
                回复
                  那我想做到输入什么就输出什么应该怎么改呢,如1*1就输出1*1,还有String型的话是不是不能进行判断


                  IP属地:广东来自iPhone客户端10楼2021-12-25 14:23
                  收起回复
                    你参考参考,我也刚学


                    IP属地:贵州来自Android客户端11楼2021-12-25 14:23
                    收起回复
                      就是最后想输出1*1=1这种


                      IP属地:广东来自iPhone客户端12楼2021-12-25 14:29
                      收起回复
                        按照规定,数字加上字符就是等于另一个数字,所以你如果写了加法,那就错了。你本质要输出的是字符串而不是数字,所以最简单的办法,把所有输入都转化为字符串再连接就行了。


                        IP属地:日本来自iPhone客户端13楼2021-12-25 14:35
                        回复
                          用stringbuffer拼接一下?


                          IP属地:江苏来自Android客户端14楼2021-12-25 15:03
                          回复
                            你输入的x是字符,转换了阿斯玛值,所以45,至于小数位是你b定义,然后整数与小数相加,提升精度再相加


                            IP属地:天津来自Android客户端15楼2021-12-25 17:19
                            回复
                              是这种拼接吧


                              IP属地:江苏来自Android客户端16楼2021-12-25 17:43
                              回复