import java.util.Scanner;
//二进制转十进制
public class Test09 {
public static void main(String[] args) {
//输入二进制数字
Scanner scanner = new Scanner(System.in);
int num = scanner.nextInt();
int i = 0;
int sum ;
int x = 0;
if (num%10==1){
sum = 1;
}else{
sum = 0;
}
while (num>0){
x = num%10;
i++;
if (x==1){
sum = sum+2^i;
}else{
sum+=0;
}
}
System.out.println(sum);
}
}
刚学java,输入数字后,回车没反应
- 写回答
- 好问题 0 提建议
- 关注问题
- 邀请回答
-
7条回答 默认 最新
小亮点科技 2021-03-19 17:36关注while (num>0){ x = num%10; i++; if (x==1){ sum = sum+2^i; }else{ sum+=0; } }这个循环里没有把num做改变。就进入了死循环。
看你的意思是想把输入的数据做为2进制求出值。
所以在这个循环里面应该加上 num /= 10;
while (num>0){
x = num%10;
i++;
if (x==1){
sum = sum+2^i;
}else{
sum+=0;
}
num /= 10;
}
本回答被题主选为最佳回答 , 对您是否有帮助呢?评论 打赏 举报解决 3无用