Java 解析int中的数字格式异常

Java 解析int中的数字格式异常,java,parseint,numberformatexception,Java,Parseint,Numberformatexception,我所得到的是: 线程“main”java.lang.NumberFormatException中的异常:对于输入字符串:“12312a” 有任何提示吗?如果字符串不是数字,则无法将字符串解析为int 例如: 这将编译 public static void main(String[] args)throws IOException { String s ="12312a"; int x = Integer.parseInt(s); System.out.println (x+2); }

我所得到的是:

线程“main”java.lang.NumberFormatException中的异常:对于输入字符串:“12312a”


有任何提示吗?

如果
字符串
不是数字,则无法将
字符串
解析为
int

例如:

这将编译

public static void main(String[] args)throws IOException {
  String s ="12312a";
  int x = Integer.parseInt(s);
  System.out.println (x+2);
}
这不会:

String num = "3245";
int x = Integer.parseInt(num);
字符串中删除
a

如果要将其解析为十六进制值,请使用

String s ="12312a";
int x = Integer.parseInt(s);
这将把它解析为以16为基数的数字。

也许你的意思是

int x = int x = Integer.parseInt(s, 16);

如果您试图解析一个不是数字的
字符串
,您会得到一个
java.lang.NumberFormatException

也许您想解析一个十六进制值,那么您可以使用:

int x = Integer.parseInt("12312a", 16);
我希望有帮助。祝你今天愉快。

你认为“12312a”是一个有效的数字吗?“12312a”不是一个有效的数字,因为a在那里。“12312”是一个可以解析的整数,但字符串下面有一个,所以不能解析。
public static void main(String[] args) throws IOException {
 String s ="12312a";
 int x = Integer.parseInt(s,16);
 System.out.println (x+2);
}