Как создать массив целых чисел в типе char? - PullRequest
0 голосов
/ 11 февраля 2020

Я пытаюсь создать массив целых чисел в типе char для данного измерения. Например, если размерность равна 5, массив должен быть {'1', '2', '3', '4', '5'}, однако я не получаю никакого вывода.

public static void main(String[] args) {
    int dim = Integer.parseInt(args[0]);
    char [] num = new char[dim];
      for(int i = 49; i < dim; i++){
          for(int j = 0; j < dim; j++){
              num[j] = (char) i ;
          }
          System.out.println(num);
      }
}

Здесь я изменил код, я добавил начальное значение ascii = 49: Но все равно я не получаю желаемый результат: (

public static void main(String[] args) {
    int dim = Integer.parseInt(args[0]);
    char [] num = new char[dim];
    int ascii = 49;
      for(int i = 0; i < dim; i++){
          for(int j = 0; j < dim; j++){
              num[j] = (char) (ascii + i) ;
          }
          System.out.println(num);
      }
}

Ответы [ 2 ]

2 голосов
/ 11 февраля 2020
int dim = Integer.parseInt(args[0]);

  for(int i = 49; i < dim; i++){

dim должно быть больше 49, чтобы тело этого l oop было выполнено, и, действительно, при этом будет вывод.

Редактировать: С новым кодом внутренний l oop записывает одинаковое значение по всему массиву. Внешний для l oop делает это для приращения значений, каждый раз печатая массив.

Вы пытаетесь сделать

          num[j] = (char) (ascii + j);

, но, возможно, без внешнего для l oop .

0 голосов
/ 11 февраля 2020

Ваша проблема может быть здесь в первой для l oop:

for(int i = 49; i < dim; i++){

Значение для l oop никогда не будет введено, если dim не больше 49 (так как вы указали i как 49 с условием, что dim должно быть больше i [или i должно быть меньше dim] для выполнения l oop.

Если первое для l oop никогда не вводится, печать заявление никогда не достигается.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...