进制转换器

本文介绍了一个使用Java编写的进制转换器,包括2、8、16进制与十进制之间的转换。通过输入合法性的验证,进行相应的转换操作,并提供了详细的代码实现。
摘要由CSDN通过智能技术生成

项目要求:打印菜单项,让用户输入对应的字母(不区分大小写),则选择了相应的进制转换

接下来接受用户的输入,验证用户输入的合法性,合法则进行进制转换,输出结果


分析:进制转换分为X->十进制  十进制->X进制

X->十进制 :按权展开,权用在原进制基的上标,即几个原进制基相乘再乘以系数

十进制->X进制:除基取余,除以要转换的目标进制的基,倒序取余,直到商为0

2、8、16进制之间的转换,先转换成十进制再转换成目标进制

涉及到一些知识点;原进制转换到目标进制的基数在哪里都需要用到,使用全局变量

整型转字符,输出字符则输出的是字符本身

字符转整型,输出整型则输出字符的ASCII值

判断字符的范围是否在数字字符(0-9)的方法:

str.charAt(i) >= '0' && str.charAt(i) < ‘9’

如果是判断是否在0-9中的某个字符之间的方法是:

int from= 2; char ch = (char) from; 此时ch的值进行运算的值是原原本本的2

而 char ch1= ‘2’ 此时ch1进行运算的值是字符‘2’的ASCII值50

所以用ch+'0'来表示经过转换成的字符的ASCII值

字符转数字核心:字符在进行运算时是用ASCII值进行操作,看原数字(ASCII值)和目标数字的差距

比如让A->10 B->11 C->12 D->13 则通用方法‘char’- 55即可

Java代码:

static int from;//原进制的基
static int to;//目标进制的基

 while (true ) {
            String str = "";
            Scanner scan = new Scanner(System.in);
            while (true) {
                showMeua();
                System.out.println("请选择对应选项");
                str = scan.next();
                if(str .equals("M") ) {
   

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值