13

当我尝试将 Integer.parseInt() 与单个字符一起使用时出现此错误。

String s = "s";
System.out.println((char) Integer.parseInt(s));

是什么给了我错误是这样的:

Exception in thread "main" java.lang.NumberFormatException: For input string: "S"
4

5 回答 5

30

字母S不是数字。你的意思是写数字 5 吗?

String s = "5";
System.out.println((char) Integer.parseInt(s));

或者您的意思是打印字符的 ASCII 或 Unicode 值S

char s = 's';
System.out.println((int) s);
于 2013-09-08T10:39:38.353 回答
2

parseInt(String s)用于将字符串形式的整数转换"42"为以十进制表示的值。String.charAt(0)如果您想要第一个字符,请使用。

于 2013-09-08T10:41:56.270 回答
1

是的,当然.. Integer.parseInt 可以只表示数字字符串的整数表示。尝试:

字符串 s="98"

于 2013-09-08T10:41:48.223 回答
0

要将字符串解析为数字,您必须在字符串中包含有效数字。

这里你的 S 不是一个数字。

String s = "s"; System.out.println((char) Integer.parseInt(s));

它应该是这样的:

String s = "100";//or whatever integer you want to parse.
System.out.println((char) Integer.parseInt(s));
于 2013-09-08T10:42:39.867 回答
0

它与单字符或多字符值无关。对此的一个简单测试是,如果您从值中删除 '(引号),您会找到一个整数吗?

如果没有,那Integer.parseiInt()肯定会失败。

我会建议你去http://www.tutorialspoint.com/java/number_parseint.htm上非常快速和简短的教程

于 2013-09-08T10:51:39.157 回答