2010-10-27 98 views
2

如何將2d數組中的整數轉換爲字符和字符串? (單獨)在Java中將int的2d數組轉換爲char和string

如果我複製整數到char數組,我只是得到ASCII碼。

例如:

public int a[5][5] 

//some code 

public String b[5][5] = public int a[5][5] 

感謝

+4

你的問題不清楚。請提供樣品輸入和所需的輸出數據。 – 2010-10-27 13:43:13

+0

您可以在單元中只有一個字符。你想如何從中創建字符串?哪個方向? – Hooch 2010-10-27 13:55:03

+0

只是在單元格中有一個int,用char(或字符串)替換它。例如。作爲char,[0] [0] = 5作爲int轉換爲[0] [0] = 5。只是用char或string等價物替換int值。我希望複製int數組作爲char數組和字符串數組。 – user476145 2010-10-27 13:57:42

回答

2

這個問題是不是都很好,措辭。我想你在問什麼是如何將int[][]類型的兩級陣列轉換爲String[][]類型之一。

坦率地說,最簡單的方法只會讓你的陣列,是......,當你使用它們轉換intString的:

Integer.toString(a[5][5]); 

或者,你可以用String[][]陣列啓動擺在首位,並簡單地增加他們的時候你int值轉換爲String

a[5][5] = new String(myInt); 

如果你確實需要轉換類型的數組到String[][]類型之一,你就必須有兩層for()循環,這樣做手工:

String[][] converted = new String[a.length][]; 
for(int index = 0; index < a.length; index++) { 
    converted[index] = new String[a[index].length]; 
    for(int subIndex = 0; subIndex < a[index].length; subIndex++){ 
     converted[index][subIndex] = Integer.toString(a[index][subIndex]); 
    } 
} 

所有這三種方法都將工作同樣出色的轉換輸入char而非String

+0

很好解釋,+1 – 2010-11-06 07:28:06

0

您的代碼必須基本上是通過你的陣列,並且每個int值轉換爲一個字符串。您可以使用String.toString(int)方法執行此操作。

你可以試試:

String[][] stringArray = new String[a.length][]; 
for(int i = 0; i < a.length; i++){ 
    stringArray[i] = new String[a[i].lenght]; 
    for(int j = 0; j < a[i].length; j++){ 
     stringArray[i][j] = Integer.toString(a[i][j]); 
    } 
} 
0

如果你想整型數爲字符串,那麼你可以使用Integer.toString()功能。

b[1][1] = Integer.toString(a[1][1]); 
0
String [][]b = new String[a.length][]; 
for(int i=0; i<a.length; i++) { 
    int [] row = a[i]; 
    b[i] = new String[row.length]; 
    for(int j=0; j<row.length; j++) { 
    b[i][j] = Integer.toString(row[j]); 
    } 
} 
-1

要將二維數組轉換爲字符串,您可以使用Arrays.deepToString(stringArr)