文档章节

1月4日,学习小记

普雷斯~韦德
 普雷斯~韦德
发布于 2017/01/04 19:00
字数 613
阅读 0
收藏 0

最近在学习 android 编程,由于没有 java 基础,今天就遇上了大难题!

我本来想提取字符串中的一个字母 a 某,然后获取其ASCII 码,来用于后面程序 判断a 某 的大小写,遂去查书,发现 数据类型转换中可以直接将  字符串转换为是数值,欣喜若狂。写出来代码四这样的

    String erweima = "12\\[AB&CDEFG&HI";
    String DX = erweima.substring(5, 6);//  判断第一个字母,以便于判断大小写
	int DX_int = Integer.parseInt(DX,16); //打算将字符 转换成 十进制数*****经事实验证这是不行的*****
						
    if(DX_int>=65 && DX_int<=90) {
           ;
    } else {
           ;
    }

然而,最后处理 的结果 他就是不对,嘿真是奇了怪了。

经过一下午的濒临崩溃的测试,我发现,就不能用这个法子来做,这个方法只是 进制上的一些转换,没想好咋么表达,上例子

public class WenTi {
	
	public static void main(String[] args) {
		int a1 = Integer.parseInt("123456",10);  //将 字符串123456转换成十进制数值
		
		int a3 = Integer.parseInt("123456",16);//将 字符串123456转换成十六进制数值
		int a4 = Integer.parseInt("123",16);
		String a5 = "A";                         //若将 A 改为 N等F后的字符,编译不会报错
/×但执行时就会抛出异常 Exception in thread "main" java.lang.NumberFormatException: For input string: "N"×/
        int a8 = Integer.parseInt(a5,16);
		
		
		
		System.out.println("a1  "+a1);             //输出结果 123456
		
		System.out.println("a3  "+a3);             //输出结果  1193046
		System.out.println("a4  "+a4);
		System.out.println("a5  "+a5);
        System.out.println("a8  "+a8);             //输出结果  10   //十六进制中,10 用 a 表示
		
		
	}
	
}

所以,这种方法是行不通的,故在网上搜索半天,就在快要放弃之时,找到了一个方法,由于参考的网友的,故并非原创,如有不妥之处,请告知,这是原帖

就先简单说一下思路,将String字符串先逐个存储到 char 型数组中,然后在利用强制转换,得到字母的 ASCII 码值。

public class WenTi {
	
	public static void main(String[] args) {
		int a1 = Integer.parseInt("123456",10);
		int a3 = Integer.parseInt("123456",16);
		int a4 = Integer.parseInt("123",16);
		String a5 = "N";
		char a6 = 'A';                          
		char[] a7 = a5.toCharArray();       //将 a5 从字符串,转换成单个字符存入 char
		
		
		System.out.println("a1  "+a1);
		//System.out.println("a2  "+a2);
		System.out.println("a3  "+a3);
		System.out.println("a4  "+a4);
		System.out.println("a5  "+a5);
		System.out.println("a6  "+(int)a6);
		System.out.println("a7  "+(int)a7[0]); //将 char 强制转换为 int 型
	}
	
}

有人说(估计没人说)你咋不直接把一个 String 型的 强制转换为 int 型,其实这我还真试过,但是不行,具体缘由仍未想通,求大神指点。OK

© 著作权归作者所有

共有 人打赏支持
普雷斯~韦德
粉丝 0
博文 6
码字总数 1927
作品 0
济南
私信 提问
加载中

评论(1)

普雷斯~韦德
普雷斯~韦德
经测试,在if语句判断中,不用强制 将 char 型数组的元素强制转换 为int 型也可以进行判断
云栖专辑 | 阿里开发者们的第11个感悟:拥抱变化,用正确的方法对待工作

2015年12月20日,云栖社区上线。2018年12月20日,云栖社区3岁。 阿里巴巴常说“晴天修屋顶”。 在我们看来,寒冬中,最值得投资的是学习,是增厚的知识储备。 所以社区特别制作了这个专辑——...

阿里云云栖社区
01/04
0
0
任务计划

大家好,前期安排了任务计划: 1、在git.oschina.net中新建一个项目,在项目中用git提交一个readme.md,并将此项目绑定到hytcASC2016团队中 任务2:1月1日到1月4日,完成openMP学习,用opneM...

hytcnlp
2016/01/08
3
0
极速接入区块链闪电网络——Mixin Network全球开发者大赛

全球首届 Mixin Network 开发者大赛即将在2018年11月14日正式启动。 开发者们可于2018年11月14日开始报名(报名链接:参赛官网请点击报名 )。 本次大赛将面向全球优秀开发者,鼓励更多开发者...

峻峻的小屋
2018/11/16
0
0
官宣了!大杀四方的 Master 就是阿尔法狗

Master账号宣布自己就是AlphaGo的黄博士 腾讯科技讯 1月4日晚间消息,在Master战胜周睿羊拿下第59场胜利后,Master账号突然宣布自己就是AlphaGo,而代替其执子的就是AlphaGo团队中的黄士杰博...

两味真火
2017/01/04
4.9K
25
极速接入区块链闪电网络——Mixin Network全球开发者大赛

全球首届 Mixin Network 开发者大赛即将在2018年11月14日正式启动。 开发者们可于2018年11月14日开始报名(报名链接:参赛官网请点击报名 )。 本次大赛将面向全球优秀开发者,鼓励更多开发者...

峻峻的小屋
2018/11/16
2
0

没有更多内容

加载失败,请刷新页面

加载更多

js中原型模式

原型模式就是用克隆对象来创建对象的,在es6中提供了Object.create方法来克隆对象 在不支持该方法的浏览器中,可以使用以下代码: Object.create = Object.create || function (obj) { ...

莫西摩西
4分钟前
0
0
ORACLE插入insert带where条件

ORACLE插入带条件 insert into THIRD_PAYEE_ACCOUNT_DETAIL t (id, collection_mode, t.store_code) select Third_Payee_Account_Detail_Seq.Nextval,'006','A05K' from dual where not......

Cobbage
13分钟前
0
0
分享几张Java架构大牛总结的架构知识脑图

前言 系统架构师是一个既需要掌控整体又需要洞悉局部瓶颈并依据具体的业务场景给出解决方案的团队领导型人物。一个架构师得需要足够的想像力,能把各种目标需求进行不同维度的扩展,为目标客户...

Java-飞鱼
21分钟前
0
0
2019BATJ面试题详解:MyBatis+MySQL+Spring+Redis+多线程

这里为大家分享一些面试的一手资料,供大家迎接接下来的金三银四跳槽季 Spring Spring 概述 什么是spring? 使用Spring框架的好处是什么? Spring由哪些模块组成? 解释AOP模块 Spring配置文件...

别打我会飞
24分钟前
0
0
首场百度大脑开放日来袭 | 全新开放24项AI技术

活动当天,百度AI技术生态部总经理喻友平,就百度大脑平台与生态进行了全面的详解,同时展示了百度大脑开放平台Q1核心升级内容,包括语音技术、视觉技术、自然语言处理、知识图谱等通用AI能力...

PaddleWeekly
24分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部