如何在JAVA实现2进制转10进制

来源:百度知道 编辑:UC知道 时间:2024/06/16 06:47:59
111 111 111 11 想把11个1的一个2进制数转成10进制
即。。2的十次方+2的九次方+。。。2的零次方
如下代码没能运行出,希望大侠指正!【我在做嵌套循环练习,排除2的11次方-1的单循环答案】
public class XXX {
public static void main(String[] args){
int a=2;
int sum=1; //基数(2的0次幂)
for(int i=11;i>=1;i--)
{
for(int j=i-1;j>=1;j--)
{
a=a*1;
}
sum=sum+a;
}
System.out.print(sum);
}
}
我的运宣结果为什么是23,我用调试想看程序每一步怎么走 但是调试的下一步按钮不可选[灰色].. 下面一楼运行结果没错,希望能看看我的补充问题!

public class XXX {
public static void main(String[] args){
int a=1;
int sum=0; //基数(2的0次幂),,2的0次幂已在循环中运算
for(int i=11;i>=1;i--)
{
a=1;//重置
for(int j=i-1;j>=1;j--)
{
a=a*2;
}
sum=sum+a;
}
System.out.print(sum);
}
}

看看这个:
import javax.swing.JOptionPane;

public class binaryswitch
{
public static void main(String[] args)
{

String input = JOptionPane.showInputDialog("Please enter a binary number:");
char[] num_c = new char[input.length()];

for (int i=0; i<input.length(); i++)
{
num_c[i] = input.charAt(i);
if((num_c[i]!='1')&&(num_c[i]!='0'))
{
JOptionPane.showMessageDialog(null,"Your input is wrong!",
"Format Check",JOptionPane.INFORMATION_MESSAGE);
return;
}
}
System.out.println("The format is OK");

double