US Bee 2021-03-19 15:49 采纳率: 89.5%
浏览 243
已采纳

刚学java,输入数字后,回车没反应

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


    }
}
  • 写回答

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;

    }

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(6条)

报告相同问题?

悬赏问题

  • ¥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错误