为了账号安全,请及时绑定邮箱和手机立即绑定

我试图将整数字符串添加到数组中,但这是不正确的

我试图将整数字符串添加到数组中,但这是不正确的

倚天杖 2022-08-17 15:31:10
我有一个字符串:"1 2 3 4 5 6 7 8 9"我希望将其添加到我的数组中,使其变为:[1,2,3,4,5,6,7,8,9]但是,当我运行代码时,int[] leftValues = new int[9];    for (String w:left.split("\\s",0)){      for (int i = 0; i<9; i++){        leftValues[i] = Integer.valueOf(w);      }    }我的输出给了我:[9,9,9,9,9,9,9,9,9]我可以知道我在这里做错了什么吗?
查看完整描述

2 回答

?
慕慕森

TA贡献1856条经验 获得超17个赞

嵌套循环首先将第一个整数分配给数组的所有索引,然后将第二个整数 ... 分配给最后一个整数 (9)。因此,您的数组最终只能容纳 9 秒。


您需要一个循环:


int i = 0;

for (String w : left.split("\\s",0)) {

    leftValues[i] = Integer.valueOf(w);

    i++;

}


int i = 0;

for (String w : left.split("\\s",0)) {

    leftValues[i++] = Integer.valueOf(w);

}


查看完整回答
反对 回复 2022-08-17
?
料青山看我应如是

TA贡献1772条经验 获得超8个赞

以下是Java 8简洁地做到这一点的方法

String numbers = "1 2 3 4 5 6 7 8 9";int[] integers = Arrays.stream(numbers.split("\\s"))
                       .mapToInt(s -> Integer.parseInt(s))
                       .toArray();


查看完整回答
反对 回复 2022-08-17
  • 2 回答
  • 0 关注
  • 99 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信