我有一个字符串' line'在包含数字的java中,例如," 34 55 64"
我想将这3个数字存储在int x , y ,z
当我这样做时,
x = Integer.parseInt(line[0])
y = Integer.parseInt(line[1])
我收到一条错误消息,说明需要"数组,但找到了字符串" 。我不明白为什么它需要一个数组
x,y,z
声明为整数,line声明为字符串
答案 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建议听起来像是这种要求的最佳选择