【华为OJ5】进制转换
来源:互联网 发布:个人导航源码 编辑:程序博客网 时间:2024/06/05 09:26
题目描述
写出一个程序,接受一个十六进制的数值字符串,输出该数值的十进制字符串。(多组同时输入 )
输入描述:
输入一个十六进制的数值字符串。
输出描述:
输出该数值的十进制字符串。
输入例子:
0xA
输出例子:
10
import java.util.Scanner;public class Main{ public static void main(String[] args){ Scanner sc=new Scanner(System.in); int num=0; while(sc.hasNext()){ String str=sc.nextLine(); System.out.println(hex16ToDec10(str)); } sc.close(); } //0x62A3>>>6*16^3+2*16^2+'A'*16^1+3*16^0 //>> 6*16+2 >>(6*16+2)*16+'A' >>((6*16+2)*16+'A')*16+3 //即每次乘以16进制后令其为一个值,再不断加上下个数乘以16 public static int hex16ToDec10(String str){ //前面有0x,所以要从i=2开始 int result=0; int BASE=16; for(int i=2;i<str.length();i++){ //因为指定位的数可能是'A'-'F'或者,要转化为数字以便计算 result=result*BASE+hexToNum(str.charAt(i)); } return result; } //将字符串转化为数字 public static int hexToNum(char ch){ int chNum=0; if(ch>='0' && ch<='9'){ chNum=ch-'0'; }else if(ch>='A' && ch<='F'){ chNum=ch-'A'+10; }else{ return 0;//输入无效字符 } return chNum; }}
0 0
- 【华为OJ5】进制转换
- OJ5
- OJ5
- 【华为oj】进制转换
- 华为oj 进制转换
- 【华为 OJ 】进制转换
- 【华为OJ】进制转换
- 华为OJ:进制转换
- 华为笔试:进制转换
- 华为oj 进制转换&&质数因子
- 【华为OJ】【005-进制转换】
- 华为OJ——进制转换
- 华为机试题--5.进制转换
- 华为OJ 初级:进制转换
- 华为OJ——进制转换
- 面试题-华为-进制转换-3
- 华为机试 进制转换
- 华为oj初级 进制转换
- 文章标题
- oracle创建job
- 俄罗斯方块Java版
- Linux上配置vim
- Jlex 安装记录
- 【华为OJ5】进制转换
- 计算机网络课程总结(未完)
- Python 使用Picking进行二进制IO
- web连接数据库
- Unity 3D中的射线与碰撞检测
- JAVA基础---反射
- 基于 CNN的年龄和性别检测
- SQL面试题(二)
- Linux命令练习第三关(3)