2016-05-13 213 views
1

我將字符串轉換爲數組並將其轉換爲整數數組。我也將數組中的所有值乘以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] 
+0

移動的'的System.out.println(...)'外循環的位置? – KevinO

回答

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)); 
+0

wooow ...我沒有意識到它在那裏,我花了30分鐘瀏覽網頁,然後問這裏。非常感謝。 – Sherwin

+0

不客氣 –

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]