Java String into Array

时间:2016-05-13 02:09:04

标签: java arrays

我将字符串转换为数组并将其转换为整数数组。我还将数组中的所有值乘以3并且它可以工作。我的问题是如何制作它以使输出只显示[3,6,9,15]而不是下面的块中显示的内容。

public static void main(String[] args) {
    String arr = "1,2,3,5";

    String[] items = arr.split(",");

    int[] results = new int[items.length];

    for (int i = 0; i < items.length; i++) {
            results[i] = Integer.parseInt(items[i]);       
            results[i] *= 3;
            System.out.println(java.util.Arrays.toString(results));

    }


   }

OUTPUT: 
[3, 0, 0, 0]
[3, 6, 0, 0]
[3, 6, 9, 0]
[3, 6, 9, 15]

2 个答案:

答案 0 :(得分:2)

将打印移至循环外部

for (int i = 0; i < items.length; i++) {
        results[i] = Integer.parseInt(items[i]);       
        results[i] *= 3;
}

System.out.println(java.util.Arrays.toString(results));

答案 1 :(得分:1)

在Java 8+中,您可以使用lambda并对令牌进行流式传输(我会添加\\s*以支持逗号周围的可选空格到正则表达式)然后使用一对地图功能。像,

String arr = "1,2,3,5";
int[] results = Stream.of(arr.split("\\s*,\\s*")).mapToInt(Integer::parseInt)
        .map(x -> x * 3).toArray();
System.out.println(Arrays.toString(results));

输出(按要求)

[3, 6, 9, 15]