蓝桥杯试题--基础练习 十六进制转十进制

本文介绍了一个简单的Java程序,用于将用户输入的十六进制数转换为对应的十进制数值并输出。通过逐字符解析十六进制数并利用数学幂次运算实现了转换。

资源限制
时间限制:1.0s
内存限制:512.0MB

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

样例输入
FFFF
样例输出
65535

import java.util.*;
public class Main {	
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		String str = sc.next();
		long ans=0;
		int  dig = str.length()-1;
		for(int i=0;i<str.length();i++){
			char c = str.charAt(i);
			int x = 0;
			switch(c){
			case '0': x = 0;break;
			case '1': x = 1;break;
			case '2': x = 2;break;
			case '3': x = 3;break;
			case '4': x = 4;break;
			case '5': x = 5;break;
			case '6': x = 6;break;
			case '7': x = 7;break;
			case '8': x = 8;break;
			case '9': x = 9;break;
			case 'A': x = 10;break;
			case 'B': x = 11;break;
			case 'C': x = 12;break;
			case 'D': x = 13;break;
			case 'E': x = 14;break;
			case 'F': x = 15;break;
			}
			ans = ans+x*((long)Math.pow(16, dig));
			dig--;
		}
		System.out.println(ans);
	}
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

咖啡壶子

你的鼓励奖是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值