【问题标题】:Simple calculator with binary conversion带二进制转换的简单计算器
【发布时间】:2013-07-08 12:37:09
【问题描述】:

有2个问题:

  1. 当我调用 getText() 时,如何让 comp 知道输入值是二进制数还是普通数? (我的第一个 for 循环)

  2. 二进制转换器未按计划工作

代码摘录:

    long a,b;
    int c=0,d=0;
    String sa,sb;
    sa=txt1.getText();
    sb=txt2.getText();
    a=Long.parseLong(txt1.getText());
    b=Long.parseLong(txt2.getText());
    int la,lb,ia,ib;
    double ansa = 0,ansb = 0,mainans = 0;
    la=sa.length();
    lb=sb.length();
    if(a>999&&b>999)        
    {
       for(ia=la;ia>=0;ia--)
       {
           if(sa.charAt(ia)=='1')
           {
               double adda;
               adda=Math.pow(2,ia);
               ansa+=adda;
           }
           else
               ansa+=0;      
       }
       for(ib=lb;ib>=0;ib--)
       {
           if(sb.charAt(ib)=='1')
           {
               double addb;
               addb=Math.pow(2,ia);
               ansb+=addb;
           }
               else
               ansa+=0;      
       }      
    }
    else
    {
        ansa=a;
        ansb=b;    
    }
        if(btn1.isSelected()==true)
        mainans=ansa+ansb;
        else
            if(btn2.isSelected()==true)
            mainans=ansa-ansb;
        else 
            if(btn3.isSelected()==true)
                mainans=ansa*ansb;
            else
                if(btn4.isSelected()==true)
                    mainans=ansa/ansb;

         txt3.setText(""+mainans);

        // TODO add your handling code here:

【问题讨论】:

  • 问题不包含问题。

标签: java netbeans-7.3


【解决方案1】:

1) 我会放两个单选按钮来在二进制和 base10 之间来回切换。菜单也可以。否则二进制数是否以 0b 为前缀?如果有人输入“10”,则无法判断这应该是数字 10 还是二进制 2。

2) Integer 包装类有一个静态方法 toBinaryString(int i) 使用如下:

//returns 1010001111
Integer.toBinaryString(655);

3) 转换为字符串 将数字转换为字符串。

//Java automatically converts the expression to a string
String s = 1010001111 + "";

//or use toString() method
Integer myInteger = new Integer(655);
myInteger.toString();

【讨论】:

  • 谢谢 :) 以及将二进制数转换为二进制数的任何方法?或者你能给我一个代码来转换吗?
猜你喜欢
  • 2012-06-06
  • 1970-01-01
  • 2013-11-30
  • 1970-01-01
  • 2013-08-05
  • 2021-07-29
  • 2014-11-19
  • 2014-11-08
  • 1970-01-01
相关资源
最近更新 更多