如何解析字符串中的数字?

时间:2014-03-29 17:24:11

标签: java string integer parseint

我有一个字符串' line'在包含数字的java中,例如," 34 55 64"

我想将这3个数字存储在int x , y ,z

当我这样做时,

x = Integer.parseInt(line[0]) 

y = Integer.parseInt(line[1])

我收到一条错误消息,说明需要"数组,但找到了字符串" 。我不明白为什么它需要一个数组

x,y,z声明为整数,line声明为字符串

3 个答案:

答案 0 :(得分:4)

类似这样的事情

StringTokenizer st = new StringTokenizer("34 55 64");
x = Integer.parseInt(st.nextToken());
y = Integer.parseInt(st.nextToken());
z = Integer.parseInt(st.nextToken());

正如评论中所指出的,StringTokenizer是一个遗留类(虽然不推荐),可以用以下代码替换

String line = "34 55 64 ";
String []splits = line.trim().split("\\s+");
x = Integer.parseInt(splits[0]);
y = Integer.parseInt(splits[1]);
z = Integer.parseInt(splits[2]);

答案 1 :(得分:3)

首先将字符串拆分为数组以用于空格(\\s+):

String line = "34 55 64 ";
String []splits = line.trim().split("\\s+");

然后执行Integer.parseInt(splits[0])

答案 2 :(得分:1)

你为什么要做这样的事情?这是一个非常具体的代码,将在非常有限的输入中工作,这使得ccode非常脆弱。无论如何,首先将字符串拆分为字符串数组,因为Sabuj建议听起来像是这种要求的最佳选择