2011-01-25 2 views
2

У меня есть двумерный массив значений, созданных следующим образом:ява 2dimensional массив массив строк

for(int i=0;i<2;i++) 
{ 
for(int j=0;j<4;j++) 
{ 
    array[i][j]=e.getValues (r,c); 
} 
} 

который будет возвращать:

array[0][0] => 16 
array[0][1] => 11 
array[0][2] => 7 
array[0][3] => 6 
array[1][0] => 10 
array[1][1] => 7 
array[1][2] => 6 
array[1][3] => 6 

как я могу хранить эти значения в виде одной строки в другую 2d строка:

arrayValues[0][0] = > {"16,11,7,6"}; 
arrayValues[1][0] = > {"10,7,6,6"}; 

Любая помощь будет принята с благодарностью. Спасибо.

ответ

0

Если ваш вопрос заключается в том, чтобы взять массив и преобразовать его в одну строку, которая содержит кома разделителями значения, выполните следующие действия:

String[] arr = new String[] {1, 2, 3, 4} 
String str = Arrays.asList(arr).toString(); // contians "[1, 2, 3, 4]" 
String result = str.substring(1, str.length - 1); // contains "1, 2, 3, 4" 

, если вы хотите удалить пробелы после запятых называют replace(", ", "")

И обратите внимание, что 2-мерный массив представляет собой массив массивов, поэтому вы можете легко применить этот способ к вашему 2-мерному массиву, который будет вызывать этот код в цикле.

0
String [] newValues = new String[array.length]; 

for(int i=0;i<newValues.length;i++) { 
for(int j=0;j<array[i].length;j++) { 
    newValues[i]= java.util.Arrays.toString(array[i]); 
} 
} 

Вы можете проверить это, запустив:

for(int i=0;i<newValues.length;i++) { 
    System.out.println(newValues[i]); 
} 

Что напечатает:

[16, 11, 7, 6] 
[10, 7, 6, 6] 

Если точный формат строка вы описали, необходимо, вы можете изменить функцию до:

for(int i=0;i<newValues.length;i++) { 
for(int j=0;j<array[i].length;j++) { 
    newValues[i]= java.util.Arrays.toString(array[i]) 
       .replace(" ", "").replace("[","{").replace("]","}"); 
} 
} 

Что напечатает:

{16,11,7,6} 
{10,7,6,6} 
+0

действительно удивительным ... спасибо за все ..... – Maya

0
String[] s = new String[2]; 


String str = new String(); 
for(int i=0;i<2;i++) 
{ 
    str = ""; 
    for(int j=0;j<4;j++) 
    { 
     array[i][j]=e.getValues (r,c); 

     str += Integer.toString(array[i][j]); 
     if(j != 3) str += ","; 

    } 

    s[i] = str; 
} 
2
for(int i=0;i<2;i++) 
{ 
    for(int j=0;j<4;j++) 
    { 
    array[i][j]=e.getValues (r,c); 


    arrayValues[i][0] += array[i][j]; 

    if(j < 3) { 
     arrayValues[i][0] += ','; 
    } 

    } 
} 
Смежные вопросы