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无用
悬赏问题
- ¥15 kafka 分区副本增加会导致消息丢失或者不可用吗?
- ¥15 微信公众号自制会员卡没有收款渠道啊
- ¥15 stable diffusion
- ¥100 Jenkins自动化部署—悬赏100元
- ¥15 关于#python#的问题:求帮写python代码
- ¥20 MATLAB画图图形出现上下震荡的线条
- ¥15 关于#windows#的问题:怎么用WIN 11系统的电脑 克隆WIN NT3.51-4.0系统的硬盘
- ¥15 perl MISA分析p3_in脚本出错
- ¥15 k8s部署jupyterlab,jupyterlab保存不了文件
- ¥15 ubuntu虚拟机打包apk错误