大数据技术的基础技能包括什么(大数据技术的基础是什么)
571
2022-05-28
问题描述
从键盘输入一个不超过8位的正的十六进制数字符串,将它转换为正的十进制数后输出。
注:十六进制数中的10~15分别用大写的英文字母A、B、C、D、E、F表示。
样例输入
FFFF
样例输出
65535
代码实现
import java.math.BigInteger; import java.util.Scanner; public class Main { //十六转十进制 public enum num{ //定义一个枚举存储十六进制A~F值的枚举 A(10),B(11),C(12),D(13),E(14),F(15); private int value; num(int value) { this.value=value; } private int getnum() { return value; } private void setnum(int value) { this.value=value; } } public static void main(String[] args) { Scanner sc=new Scanner(System.in); String x=sc.nextLine(); String y=""; //sum最后输出的值 //z代表16的几次方 long sum=0,z=0; if(x.length()<=8) { //按权展开 for (int i = x.length(); i > 0; i--) { char a=x.charAt(i-1); if(a>=65&&a<=70) {//判断a是否在A~F之间 sum+=num.valueOf(String.valueOf(a)).value*Math.pow(16,z); }else if(a>=48&&a<=57) {//判断a是否在0~9之间 sum+=Integer.parseInt(String.valueOf(a))*Math.pow(16,z); } z++; } } System.out.println(sum); } }
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。