2016-02-12 37 views
-1

爲int數組我在Java程序中的字符串數組這樣如何轉換字符串數組中的Java

String results[] = { "2", "1", "5", "1" }; 

我想將它轉換爲整數數組像這樣:

int results[] = { 2, 1, 5, 1 }; 

而且最後我想找到該數組的所有元素的總和。

+0

請添加你試過的代碼,直到現在。 – phoenix

+1

可能的重複:http://stackoverflow.com/questions/21677530/converting-a-string-array-to-an-int-array – assylias

回答

1
String resultsStr[] = {"2", "1", "5", "1"}; 
ArrayList intermediate = new ArrayList(); 
for(String str : resultsStr) 
{ 
    intermediate.add(Integer.parseInt(str, 10)); //the 10 could be ommitted 
} 
int resultsInt[] = intermediate.toArray(); 

和您的resultsInt[]將包含整數的數組。雖然我同意它不必通過數組列表(它可以在沒有它的情況下完成),但我僅僅因爲它更容易輸出而使用它。

+0

是的,我在編輯中添加了基數,並將其添加到錯誤的地方。我的錯。 – Shark

6

如果您使用的是Java 8試試這個:

int[] array = Arrays.stream(resultsStr).mapToInt(Integer::parseInt).toArray(); 
0

這是我簡單的解決方案:

public class Tester { 

public static void main(String[] args) { 
    // TODO Auto-generated method stub 
    String results[]={"2","1","5","1"}; 

    //Creating a new array of Type Int 
    int result [] = new int[4]; 

    int sum = 0; 

    //Going trough every element in results And Converting it to Int By using : Integer.valueOf(String str) 

    for (int i = 0; i < results.length; i++) { 
     result[i] = Integer.valueOf(results[i]); 

    } 


    //Displaying the result 
    for (int i = 0; i < result.length; i++) { 
     System.out.println(result[i]); 
     sum += result[i]; 
    } 

    System.out.println("The sum of all elements is : " + sum); 
} 

}

+1

'Integer.valueOf'返回一個'整數',將其取消裝入一個'int' - 如果你想直接使用'int',你應該使用'Integer.parseInt'。 – assylias

+0

感謝您的通知 –

0

我晚了我大概一點就這一點,但這裏是一個簡單的解決方案,基本上使用for循環遍歷字符串數組,將解析後的整數值添加到新的整數數組中,並在整數增加時添加整數。另外請注意,我移動了字符串數組類型的方括號String[] results,因爲它不僅不那麼容易混淆,而且數組是該類型的一部分,而不是數組名稱的一部分。

public class test { 
    public static void main(String[] args) { 
     String[] results = { "2", "1", "5", "1" }; 

     // Create int array with a pre-defined length based upon your example 
     int[] integerArray = new int[results.length]; 

     // Variable that holds the sum of your integers 
     int sumOfIntegers = 0; 

     // Iterate through results array and convert to integer 
     for (int i = 0; i < results.length; i++) { 
      integerArray[i] = Integer.parseInt(results[i]); 

      // Add to the final sum 
      sumOfIntegers += integerArray[i]; 
     } 

     System.out.println("The sum of the integers is: " + sumOfIntegers); 
    } 
} 

你也可以先創建整數數組,然後循環後添加數字加在一起,但在這種情況下,我們假定字符串數組都是整數,所以我沒有看到一個理由使這個過於複雜。

相關問題