进制转换

这里写图片描述

Scanner sc = new Scanner(System.in);
            System.out.println("请输入一个数字");
            int x = sc.nextInt();
            System.out.println("请输入当前数字的进制(n>2)");
            int m = sc.nextInt();
            System.out.println("请输入要转换的数字的进制(n<36)");
            int n = sc.nextInt();
            sc.close();
            String s1 = String.valueOf(x);
            //将该数字转换成十进制的数值
            int q = 0;
            for(int i = s1.length() - 1,j = 0;i >= 0;i --,j ++){
                q += Math.pow(m, j) * (Integer.valueOf((char)s1.charAt(i) - 48));
            }
            System.out.println("该数值当前的进制是"+m+"  该数字转换成十进制的数值为"+q);
            System.out.println("接下来我们转换成"+n+"进制!");
            List<Integer> remainderArray = new ArrayList<Integer>();
            while(q >= n){
                remainderArray.add(q % n);
                q /= n;
            }
            remainderArray.add(q % n);
            //拼接
            StringBuilder sb = new StringBuilder();
            for(int i = remainderArray.size() - 1;i >= 0;i --){
                sb.append(remainderArray.get(i));
            }
            System.out.println(sb);
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值