Как печатать что-то сбоку в консоли на Java?

#java

#java

Вопрос:

Я новичок в программировании на Java и просто программировании в целом. Я написал программу для печати таблиц до определенного числа.

Тем не менее, я хотел бы печатать таблицы горизонтально, вместо того, чтобы представлять собой гигантский список. Как мне это сделать?

Вот мой код.

 import java.util.Scanner;

public class Learning {

    public static void main(String[] args) {

        /*
         * To create a program where it prints the tables till twenty
         */

        Scanner input = new Scanner(System.in);
        System.out.println("Enter till when do you want the tables(max 20): ");
        int number = input.nextInt();
        if (number > 20 || number < 2) {
            System.out.println("You entered a wrong number!!");
            System.exit(1);
        }

        for (int i = 2; i <= number; i  ) {

            for (int j = 1; j <= 10; j  ) {

                System.out.printf("%d X %d = %dn", i, j, (i * j));

            }

            System.out.println();
        }

    }

}
  

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

1. Можете ли вы показать, каким должен быть результат?

2. выньте n в вашем printf()

Ответ №1:

Если вы не хотите, чтобы каждая запись содержалась в отдельной строке, вам придется удалить » n» из

 for (int j = 1; j <= 10; j  ) {

     System.out.printf("%d X %d = %dn", i, j, (i * j));  // <<<<<  the n here

 }
  

и замените его некоторыми пробелами или чем-нибудь еще, что вам подойдет.

Если я неправильно понял вопрос, пожалуйста, скажите мне, и я постараюсь его переработать: D

Редактировать:

если вы вставите t и возьмете 4 числа, вы получите:

 2 X 1 = 2   2 X 2 = 4   2 X 3 = 6   2 X 4 = 8   2 X 5 = 10  2 X 6 = 12  2 X 7 = 14  2 X 8 = 16  2 X 9 = 18  2 X 10 = 20 
3 X 1 = 3   3 X 2 = 6   3 X 3 = 9   3 X 4 = 12  3 X 5 = 15  3 X 6 = 18  3 X 7 = 21  3 X 8 = 24  3 X 9 = 27  3 X 10 = 30 
4 X 1 = 4   4 X 2 = 8   4 X 3 = 12  4 X 4 = 16  4 X 5 = 20  4 X 6 = 24  4 X 7 = 28  4 X 8 = 32  4 X 9 = 36  4 X 10 = 40 
  

для другого решения вам нужно изменить циклы на :

     for (int i = 1; i <= 10; i  ) {

        for (int j = 2; j <= number; j  ) {

            System.out.printf("%d X %d = %dt", j, i, (i * j));

        }

        System.out.println();
    }
  

при использовании числа 20 вы получите:

 2 X 1 = 2   3 X 1 = 3   4 X 1 = 4   5 X 1 = 5   6 X 1 = 6   7 X 1 = 7   8 X 1 = 8   9 X 1 = 9   10 X 1 = 10 11 X 1 = 11 12 X 1 = 12 13 X 1 = 13 14 X 1 = 14 15 X 1 = 15 16 X 1 = 16 17 X 1 = 17 18 X 1 = 18 19 X 1 = 19 20 X 1 = 20 
2 X 2 = 4   3 X 2 = 6   4 X 2 = 8   5 X 2 = 10  6 X 2 = 12  7 X 2 = 14  8 X 2 = 16  9 X 2 = 18  10 X 2 = 20 11 X 2 = 22 12 X 2 = 24 13 X 2 = 26 14 X 2 = 28 15 X 2 = 30 16 X 2 = 32 17 X 2 = 34 18 X 2 = 36 19 X 2 = 38 20 X 2 = 40 
2 X 3 = 6   3 X 3 = 9   4 X 3 = 12  5 X 3 = 15  6 X 3 = 18  7 X 3 = 21  8 X 3 = 24  9 X 3 = 27  10 X 3 = 30 11 X 3 = 33 12 X 3 = 36 13 X 3 = 39 14 X 3 = 42 15 X 3 = 45 16 X 3 = 48 17 X 3 = 51 18 X 3 = 54 19 X 3 = 57 20 X 3 = 60 
2 X 4 = 8   3 X 4 = 12  4 X 4 = 16  5 X 4 = 20  6 X 4 = 24  7 X 4 = 28  8 X 4 = 32  9 X 4 = 36  10 X 4 = 40 11 X 4 = 44 12 X 4 = 48 13 X 4 = 52 14 X 4 = 56 15 X 4 = 60 16 X 4 = 64 17 X 4 = 68 18 X 4 = 72 19 X 4 = 76 20 X 4 = 80 
2 X 5 = 10  3 X 5 = 15  4 X 5 = 20  5 X 5 = 25  6 X 5 = 30  7 X 5 = 35  8 X 5 = 40  9 X 5 = 45  10 X 5 = 50 11 X 5 = 55 12 X 5 = 60 13 X 5 = 65 14 X 5 = 70 15 X 5 = 75 16 X 5 = 80 17 X 5 = 85 18 X 5 = 90 19 X 5 = 95 20 X 5 = 100    
2 X 6 = 12  3 X 6 = 18  4 X 6 = 24  5 X 6 = 30  6 X 6 = 36  7 X 6 = 42  8 X 6 = 48  9 X 6 = 54  10 X 6 = 60 11 X 6 = 66 12 X 6 = 72 13 X 6 = 78 14 X 6 = 84 15 X 6 = 90 16 X 6 = 96 17 X 6 = 102    18 X 6 = 108    19 X 6 = 114    20 X 6 = 120    
2 X 7 = 14  3 X 7 = 21  4 X 7 = 28  5 X 7 = 35  6 X 7 = 42  7 X 7 = 49  8 X 7 = 56  9 X 7 = 63  10 X 7 = 70 11 X 7 = 77 12 X 7 = 84 13 X 7 = 91 14 X 7 = 98 15 X 7 = 105    16 X 7 = 112    17 X 7 = 119    18 X 7 = 126    19 X 7 = 133    20 X 7 = 140    
2 X 8 = 16  3 X 8 = 24  4 X 8 = 32  5 X 8 = 40  6 X 8 = 48  7 X 8 = 56  8 X 8 = 64  9 X 8 = 72  10 X 8 = 80 11 X 8 = 88 12 X 8 = 96 13 X 8 = 104    14 X 8 = 112    15 X 8 = 120    16 X 8 = 128    17 X 8 = 136    18 X 8 = 144    19 X 8 = 152    20 X 8 = 160    
2 X 9 = 18  3 X 9 = 27  4 X 9 = 36  5 X 9 = 45  6 X 9 = 54  7 X 9 = 63  8 X 9 = 72  9 X 9 = 81  10 X 9 = 90 11 X 9 = 99 12 X 9 = 108    13 X 9 = 117    14 X 9 = 126    15 X 9 = 135    16 X 9 = 144    17 X 9 = 153    18 X 9 = 162    19 X 9 = 171    20 X 9 = 180    
2 X 10 = 20 3 X 10 = 30 4 X 10 = 40 5 X 10 = 50 6 X 10 = 60 7 X 10 = 70 8 X 10 = 80 9 X 10 = 90 10 X 10 = 100   11 X 10 = 110   12 X 10 = 120   13 X 10 = 130   14 X 10 = 140   15 X 10 = 150   16 X 10 = 160   17 X 10 = 170   18 X 10 = 180   19 X 10 = 190   20 X 10 = 200   
  

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

1. Похоже, что OP хочет что-то вроде этого: 2 X 1 = 2 3 X 1 = 3 2 X 2 = 4 3 X 2 = 6, здесь 2 X 2 должно быть прямо под 2 X 1 и 3 X 2 под 3 X 1

2. Спасибо @Neso. Это сработало нормально. Я совершенно новичок в stackoverflow, поэтому прошу прощения за любые ошибки редактирования / форматирования с моей стороны. Похоже, действительно полезное сообщество. 🙂

Ответ №2:

Вам нужно изменить порядок циклов for и заменить на n with t , чтобы разделить две таблицы

     for (int j = 1; j <= 10; j  ) 
     {
       for (int i = 2; i <= number; i  ) 
          {
            System.out.printf("%d X %d = %dt", i, j, (i * j));
          }
       System.out.println();
     }
  

Пример вывода, когда number = 5

 2 X 1 = 2   3 X 1 = 3   4 X 1 = 4   5 X 1 = 5   
2 X 2 = 4   3 X 2 = 6   4 X 2 = 8   5 X 2 = 10  
2 X 3 = 6   3 X 3 = 9   4 X 3 = 12  5 X 3 = 15  
2 X 4 = 8   3 X 4 = 12  4 X 4 = 16  5 X 4 = 20  
2 X 5 = 10  3 X 5 = 15  4 X 5 = 20  5 X 5 = 25  
2 X 6 = 12  3 X 6 = 18  4 X 6 = 24  5 X 6 = 30  
2 X 7 = 14  3 X 7 = 21  4 X 7 = 28  5 X 7 = 35  
2 X 8 = 16  3 X 8 = 24  4 X 8 = 32  5 X 8 = 40  
2 X 9 = 18  3 X 9 = 27  4 X 9 = 36  5 X 9 = 45  
2 X 10 = 20 3 X 10 = 30 4 X 10 = 40 5 X 10 = 50 
  

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

1. Чтобы сделать его более красивым, вы можете отформатировать его, я думаю, используя %-6d X %-6d = %-6dt

2. Спасибо! Это решение, которое я искал.