Tabliczka mnożenia. Kolumny się rozjeżdżają i tracą formę prostokąta, na czym najbardziej mi zależy.

0

Jak zrobić, żeby pod pierwszym wersem były wyniki mnożenia tak jak naprzeciwko każdej pierwszej liczby w pierwszej kolumnie? Np. przy 9 w wersie i 9 w kolumnie wynik nie jest dokładnie pod "dziewiątką wersową". Użyłem spacji, ale jak widać słabo to się prezentuje ze względu na różną liczbę cyfr w liczbie.

        int i;
        int j;
 
        for(i=1; i<=10; i++){
 
 
                for(j=1;j<=10;j++){
 
            System.out.print(j*i+"  ");
                }
                System.out.println("\n");
                j++;
        }
0

Zrób może taką tabelkę w notatniku i wklej do posta (np. w znaczniki <code class="none">), żeby było wiadomo czego oczekujesz; Bo po Twoim opisie (tych słowach):

ak zrobić, żeby pod pierwszym wersem były wyniki mnożenia tak jak naprzeciwko każdej pierwszej liczby w pierwszej kolumnie? Np. przy 9 w wersie i 9 w kolumnie wynik nie jest dokładnie pod "dziewiątką wersową".

jakoś ciężko zrozumieć jaki efekt chciałbyś uzyskać.

2

Użyj metody printf

        System.out.printf("%4s"," ");
        for(int i=1;i<=10;i++)
        {
            System.out.printf("%4d",i);
        }
        System.out.println();
        for(int j=1;j<=10;j++)
        {
            System.out.printf("%4d",j);
            for(int i=1;i<=10;i++)
            {
                System.out.printf("%4d",j*i);
            }
            System.out.println();
        }
1
bogdans napisał(a):

Użyj metody printf

Jak użyje czcionki proporcjonalnej, może się okazać, że nie na dużo mu się to zda... może spróbować jeszcze z tabulatorami ("\t") i metodą printf ale obawiam się, że to też nie będzie do końca to co chce uzyskać...

0
 1   2   3   4   5    6    7   8    9  10  

 2   4   6   8  10   12  14  16  18  20  

 3   6   9  12  15  18  21  24  27  30  

 4   8  12  16  20  24  28  32  36  40  

 5  10  15  20  25  30  35  40  45  50  

 6  12  18  24  30  36  42  48  54  60  

 7  14  21  28  35  42  49  56  63  70  

 8  16  24  32  40  48  56  64  72  80  

 9  18  27  36  45  54  63  72  81  90  

10  20  30  40  50  60  70  80  90  100  

Chodzi mi o coś jakby "wyjustuj". Nie do końca udało mi się to wyrównać spacjami, ale chodzi mi mniej więcej o coś takiego.

1 użytkowników online, w tym zalogowanych: 0, gości: 1