2017-02-21 6 views
2

Это код, который я написал для преобразования символов в его эквивалентные целые числа. Значения находятся в 2D-матрице. Я хочу преобразовать эти значения ASCII в двоичный эквивалент.Могу ли я использовать функцию toBinaryString на матрице

for(int a=0; a<3; a++) { 
    for(int b=0; b<3; b++) { 
     char character=first[a][b]; 
     B=(int) character; 
     System.out.print(B+" "); 
    } 
    System.out.println(); 
} 
System.out.println("\n"); 

Я получаю требуемый вывод для эквивалентных значений ASCII из приведенного выше кода. Я попытался использовать функцию toBinaryString(), но он преобразует только одно значение. Может ли эта функция использоваться на двумерной матрице? Как я могу присвоить эти значения 2D-матрице, потому что, когда я печатаю B, я получаю только последний элемент матрицы вместо получения полной 2D-матрицы?

+1

Но у вас уже есть цикл, поэтому просто замените B + "" на Integer.toBinaryString (B) + "" –

+0

Thanx .... Я создал другой цикл for и отобразил двоичные значения отдельно. Но теперь, когда я показываю BI получает только последний элемент эквивалентной матрицы ASCII, можете ли вы мне помочь, как я могу присвоить эти значения 2D-матрице? –

+0

Вы говорите о том же коде выше? Если нет, вы можете отредактировать свой вопрос и добавить новый код. –

ответ

0

Нет, нет стандартного метода, как:

first.toBinaryString(); 

или

String s = Arrays.toBinaryString(first); 

, но вы можете реализовать свой собственный метод, что-то вроде:

public static String charMatrixToBinaryString(char[][] matrix) {...} 

UPD: есть ваш код для вывода BinaryString:

String[][] ascii2dMatrix = new String[3][3]; 

    for(int i = 0; i < 3; i++) { 
     for(int j = 0; j < 3; j++) { 
      ascii2dMatrix[i][j] = Integer.toBinaryString(first[i][j]); 
      System.out.print(ascii2dMatrix[i][j] + " "); 
     } 
     System.out.println(); 
    } 
    System.out.println("\n"); 

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

  • Нет связанных вопросов^_^