Java: 如何把String类型数据 A 转化为 int类型数据65?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java: 如何把String类型数据 A 转化为 int类型数据65?相关的知识,希望对你有一定的参考价值。
首先题目的需求
String类型--转-->int类型 , 使用int的包装类Integer的parseInt(String str)的方法可以实现,比如
Integer.parseInt("1");//可以实现字符串1专为int整数1但是这种传统正确的解决方式,却不适合题目需求,因为 直接解析字符串A会抛出现数字格式异常,就算指定了包含字符A的16进制进行解析,得到的也是10,而不是要求的65
System.out.println(Integer.parseInt(("A"),16));//输出10, 而非65深入分析A<-->65直接的关系, 发现A和ASCII码存在如下关系
二进制------>01000001
十进制------>65
十六进制-->41
原来A的ASCII码的十进制就是65
解题思路一, 从字符A强转成10进制即可
参考代码一:
char ch = "A".charAt(0);//先A转成字符类型System.out.println((int)ch); // 再把字符类型强转为整数65
2. 解题思路二, 字符A转16进制整数, 在从16进制转回10进制
参考代码二:
char ch = "A".charAt(0);
System.out.println(Integer.parseInt(Integer.toHexString(ch),16));//65
3. 解题思路三, 字符A转2进制,再从2进制转10进制
参考代码三:
char ch = "A".charAt(0);System.out.println(Integer.parseInt(Integer.toBinaryString(ch),2));//65
推荐方法一: 简单 , 其余方法可以辅助理解进制和ASCII的关系
参考技术A A -->65String s="A";
System.out.println(s.hashCode());
65-->A
System.out.println(String.valueOf((char)65)); 参考技术B String s = "a";
char[] c = s.toCharArray();
System.out.println((int) c[0]); 参考技术C public class $
public static void main(String[] args)
String str = "A";
char c = str.charAt(0);
System.out.println(Integer.valueOf(c));
参考技术D String a="A";
int b=a.hashCode();
System.out.println(b); 第5个回答 2016-01-08 String str = "65" ;
int x = Integer.paserInt(str) ; 第6个回答 2015-10-21 Integer.valueOf(String string);
Integer.parseInt(String string);
java中如何把string类型转换成int类型
参考技术A 有两种方法,根据例子说明:String -> int
s="12345";
int i;
第一种方法:i=Integer.parseInt(s);
第二种方法:i=Integer.valueOf(s).intValue();第一种方法:i=Integer.parseInt(s);//直接使用静态方法,不会产生多余的对象,但会抛出异常
第二种方法:i=Integer.valueOf(s).intValue();//Integer.valueOf(s)
相当于
new
Integer(Integer.parseInt(s)),也会抛异常,但会多产生一个对象 参考技术B 将
String类型强制转换成int类型
方法一:int
i=System.Convert.ToInt32(String)
方法二:
try
int
i=Int32.Parse(String);
catch
有一些并不一定能够转换的,加一个try
以上是关于Java: 如何把String类型数据 A 转化为 int类型数据65?的主要内容,如果未能解决你的问题,请参考以下文章
java中如何把一个String类型的变量转换成double型的?
java中怎样可以把String类型转化为Char类型的数组啊?