进制转化

要求:将非负十进制整数n转换成b进制。(其中b=2~16)

代码如下:

import java.util.List;
import java.util.Scanner;

/**
 * @author YB
 * @2019/5/30-20:56
 */
public class Demo1 {
    private Scanner sc=new Scanner(System.in);
    private int x;
    private int y;
    public String calculate(int a,int b){
        String msg="";
        String s="0123456789ABCDE";
        if(a==0){
            return "";
        }
        else{
            msg=calculate(a/b,b);
            if(a%b!=15) {
                return msg + s.substring(a % b, a % b + 1);
            }
            else{
                return msg+"F";
            }
        }
    }
    public void SystemIn(){
        System.out.println("请输入一个整数:");
        x=sc.nextInt();
        while(x<=0){
            System.out.println("请重新输入:");
            x=sc.nextInt();
        }
        System.out.println("请输入您想转换的进制(最好在2-16之间哦!不然可能你又要输入一遍了哦):");
        y=sc.nextInt();
        while(y<2||y>18){
            System.out.println("请重新输入!这次不要在调皮了哦!:");
            y=sc.nextInt();
        }
        String msg=calculate(x,y);
        System.out.print("结果为:");
        System.out.println(msg);
    }
    public static void main(String[] args) {
        Demo1 demo=new Demo1();
        demo.SystemIn();
    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值