JAVA十六进制转化成十进制

问题描述
  从键盘输入一个不超过8位的正的十六进制数字符串,将它转换为正的十进制数后输出。
  注:十六进制数中的10~15分别用大写的英文字母A、B、C、D、E、F表示。
样例输入
FFFF
样例输出
65535


一、
import java.util.Scanner;

public class Main {

    public static void main(String[] args) {
        Scanner sc=new Scanner(System.in);
        
        String n=sc.nextLine();
        int m=n.length();
        int t;
        int sum=0;
        
        for(int i=0;i<m;i++) {
            switch(n.charAt(i)){
            case 'A':t=10;break;
            case 'B':t=11;break;
            case 'C':t=12;break;
            case 'D':t=13;break;
            case 'E':t=14;break;
            case 'F':t=15;break;
            default:t=n.charAt(i)-'0';break;
    
            }
            sum+=t*Math.pow(16,m-1-i);
        }
         System.out.println(sum);
        
    }

}


二,

System.out.println(Long.parseLong(n,16));
 System.out.println(Integer.parseInt(n,16));


发布了9 篇原创文章 · 获赞 6 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/qq_38331894/article/details/79508033
今日推荐