Java 带二进制转换的简单计算器
有两个问题:Java 带二进制转换的简单计算器,java,netbeans-7.3,Java,Netbeans 7.3,有两个问题: 调用getText()时,我如何让comp知道输入值是二进制数还是普通数?(我的第一个for循环) 二进制转换器未按计划工作 代码摘录: 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());
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();
问题不包含问题。谢谢:)以及任何将二进制数转换为二进制数并转换为字符串的方法?或者您可以给我一个代码来转换吗?