Преобразование двумерного массива целых в char и string в Java - PullRequest
2 голосов
/ 27 октября 2010

Как я могу преобразовать целые числа в двумерном массиве в символы и строки?(отдельно)

Если я копирую int в массив символов, я просто получаю код ASCII.

Например:

public int a[5][5] 

//some code

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

Спасибо

Ответы [ 5 ]

2 голосов
/ 27 октября 2010

Этот вопрос не очень хорошо сформулирован.Я думаю, что вы спрашиваете, как преобразовать двухуровневый массив типа int[][] в тип типа String[][].

Откровенно говоря, самый простой подход просто оставил бы ваш массив как есть... и конвертируйте int значения в String при их использовании:

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

В качестве альтернативы, вы можете начать с массива String[][] и просто конвертировать int значения String при их добавлении:

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

Если вам действительно нужно преобразовать массив типа int[][] в массив типа 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 голосов
/ 14 октября 2015

Для преобразования 2D-массива в строку вы можете использовать Arrays.deepToString(stringArr).

0 голосов
/ 27 октября 2010

Если вы хотите, чтобы число int было строкой, вы можете использовать функцию Integer.toString().

b[1][1] = Integer.toString(a[1][1]);
0 голосов
/ 27 октября 2010
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]);
  }
}
0 голосов
/ 27 октября 2010

Ваш код должен в основном проходить через ваш массив и преобразовывать каждое значение типа 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]);
    }
}
...