Для java-цикла, делающего вывод в 2 столбца

#java #loops

#java #циклы

Вопрос:

Привет, я новичок, и я все еще учусь, и если кто-нибудь может помочь мне в этом, заранее спасибо, мой код:

 for(int i = 0; i < 10; i  ) {
    System.out.println(i);
}
  

и вывод должен быть таким:

 0 1
2 3
4 5
6 7
8 9
  

Комментарии:

1. Попробуйте указать несколько пробелов в System.out.println() и посмотреть, как изменится вывод вашего кода. Оттуда вы сможете найти, как перенести числа в следующую строку.

2. Итак, давайте пройдемся по этому вопросу на секунду: для каждой итерации (иначе говоря, каждый раз, когда мы запускаем код внутри цикла) вы печатаете строку информации ( #println будет выводить содержимое, за которым следует n ). В текущий момент ваш код просто напечатает значение i , за которым следует новая строка. Какие способы вы можете придумать, чтобы напечатать нужную вам информацию, за которой следует последняя новая строка?

3. вы можете просто попробовать ввести новый символ следующей строки в java вместо println и попробовать

4. Это не служба для написания домашних заданий. Я вижу, что кто-то вам ответил. Вы чувствуете себя лучше, обманув? Таким образом, вместо того, чтобы учиться самостоятельно, вы взяли чужую работу.

Ответ №1:

Просто используйте следующую строку только для нечетных чисел:

 for (int i = 0; i < 10; i  ) {
    if (i % 2 == 0)
        System.out.format("-", i);
    else
        System.out.format(" -n", i);
}
  

Выходной сигнал:

  0  1
 2  3
 4  5
 6  7
 8  9
  

P.S. Для более общего использования я бы выделил его в отдельный метод

 public static void printTwoColumns(int min, int max) {
    int width = String.valueOf(max).length();

    for (int i = min; i < max; i  ) {
        String str = String.format("%"   width   'd', i);

        if (i % 2 == 0)
            System.out.print(str);
        else {
            System.out.print(' ');
            System.out.println(str);
        }
    }
}
  

Ответ №2:

Вы можете сделать что-то вроде этого:

 for (int i = 0; i < 10; i  ) {
  System.out.print(i);
  System.out.println(  i);
}
  

При первой печати используется текущее значение i и используется System.out.print.
Вторая
печать использует println, поэтому она идет на одну строку вниз, а также принимает i, поэтому она увеличит i на 1 и также выведет новое значение.

Каждая итерация цикла выводит два значения и продвигает i в общей сложности на 2.

Ответ №3:

Чтобы делать то, что вы хотите, вы можете сделать что-то вроде этого:

 for(int i = 0; i < 10; i   ){  
    if(i % 2 == 0){
        System.out.print(i); //Only for evens
    }else{
        System.out.println(i);  //Only for odds
    }
}
  

Или вы могли бы упростить его еще больше, используя что-то вроде этого:

 for(int i = 0; i < 5; i  = 2){
    System.out.println(i   " "   (i   1));
}