将Java字符串转换为数组
问题描述:
我将字符串转换为数组并将其转换为整数数组。我也将数组中的所有值乘以3,并且它可以工作。我的问题是我如何制作,以便输出结果只显示[3,6,9,15],而不是下面显示的内容。将Java字符串转换为数组
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]
答
移动印刷外循环
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));
+0
wooow ...我没有意识到它在那里,我花了30分钟浏览网页,然后问这里。非常感谢。 – Sherwin
+0
不客气 –
答
在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]
移动的'的System.out.println(...)'外循环的位置? – KevinO