蓝桥杯练习系统基础练习——十六进制转十进制

问题描述

 
从键盘输入一个不超过8位的正的十六进制数字符串,将它转换为正的十进制数后输出。

   注:十六进制数中的10~15分别用大写的英文字母A、B、C、D、E、F表示。

import java.util.Scanner;

public class Main{
	public static void main(String[] args) {
		Scanner scanner = new Scanner(System.in);
		String str = scanner.next();
		
		String[] strs = new String[str.length()];
		int t = 0;
		int j = strs.length-1;
		long sum = 0;
		for (int i=0;i<=j;i++) {
			switch(str.charAt(i)) {
			case '0':
				t = 0;
				break;
			case '1':
				t = 1;
				break;
			case '2':
				t = 2;
				break;
			case '3':
				t = 3;
				break;
			case '4':
				t = 4;
				break;
			case '5':
				t = 5;
				break;
			case '6':
				t = 6;
				break;
			case '7':
				t = 7;
				break;
			case '8':
				t = 8;
				break;
			case '9':
				t = 9;
				break;
			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;
			}
			
			sum = (long) (Math.pow(16,j-i)*t + sum);
		}
		System.out.println(sum);
	}
}
    原文作者:进制转换
    原文地址: https://blog.csdn.net/agony_sun/article/details/54561021
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞