十六进制字符转成整数
源代码
package 十六进制字符转成整数;
/**
* @author 邓雪松 (づ ̄ 3 ̄)づ)
* @create 2021-10-20-16-41
*/
public class Demo {
public static void main(String[] args) {
String hex = "111A";
int tmp = hex2Int(hex);
if(tmp != -1){
System.out.println(hex2Int(hex));
}else{
System.out.println("包含非十六进制字符!!!");
}
}
/**
* 获取十六进制ch的int值,如A:10,F:15,9:9
*/
public static int getHexValue(char ch){
if(ch>='0'&&ch<='9'){
return Integer.parseInt(String.valueOf(ch));
}
if((ch>='a'&&ch<='f')||(ch>='A'&&ch<='F')){
switch(ch){
case 'a':
case 'A':
//这里不用break是因为执行了return以后就不会在往下执行了
return 10;
case 'b':
case 'B':
return 11;
case 'c':
case 'C':
return 12;
case 'd':
case 'D':
return 13;
case 'e':
case 'E':
return 14;
case 'f':
case 'F':
return 15;
}
}
//返回-1,代表出错
return -1;
}
//十六进制的字符串形如:10,不包括前面的OX
public static int hex2Int(String str){
int result = 0;
char[] hex = str.toCharArray();
for(int i=0;i<hex.length;i++){
if(getHexValue(hex[i])!=-1){
result += getHexValue(hex[i])*Math.pow(16,hex.length-i-1);
}else{
return -1;
}
}
return result;
}
}
需要注意的几个方法
1.String.valueof(ch);
2.Integer.parseInt()
3.String.toCharArray()
4.Math.pow(a,b)
完~
分类:
Java-蓝桥杯-前置课程-基础
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· 字符编码:从基础到乱码解决
· 提示词工程——AI应用必不可少的技术