簡體   English   中英

具有二進制轉換的簡單計算器

[英]Simple calculator with binary conversion

有兩個問題:

  1. 當我調用getText()時,如何讓comp知道輸入值是二進制數還是普通數? (我的第一個循環)

  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:

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM