Невозможно напечатать числа после 9 - PullRequest
0 голосов
/ 12 февраля 2020

У меня есть символ [] []. Я хочу печатать цифры от 0 до размера. Когда я достигну номера 9, появится следующий символ в таблице ascii. Мой код:

 if (j >3 && j % 5 == 0 && i==0) {
     bor[i][j] = (char)(co + '0');
     co++;
 }
 if (j == 0 &&  i > 0 && i%2 ==0) {
     bor[i][j] = (char)(ro + '0');
     ro++;
 }

оператор if просто объявляет, в какой позиции печатать определенные числа. Я предполагаю, что способ преобразования из int в char неправильный, но я не знаю ни одного метода, который работал бы после 9.

the error in the table

1 Ответ

1 голос
/ 12 февраля 2020

Тип данных char - это одиночный 16-битный символ Unicode.

Посмотрите на код:

char ch1 = 67; // it is symbol code
char ch2 = 'C'; // symbol
System.out.println(ch1 + "  " + ch2 );

Вывод

C C

Поэтому вы можете изменить тип массива с char [] [] на int [] [] и удалить приведение.

Существует много в вашем примере пропущен код, поэтому я вставлю не завершенный пример:

    int[][] bor = new int[100][100];
    ...
    if (j >3 && j % 5 == 0 && i==0) {
        bor[i][j] = co;
        co++;
    }
    if (j == 0 &&  i > 0 && i%2 ==0) {
        bor[i][j] = ro;
        ro++;
    }
...