2010-10-27 101 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)