JAVA formatowanie wyjścia - potrzebna pomoc.

0

Witam, mam taki oto problem. Napisałem sobie program wypisujący na ekranie w konsoli trójkąt pascala. I Wygląda on dobrze, do czasu gdy nie pojawią się w piramidzie liczby dwucyfrowe. Gdy się pojawią, wszystko się rozjeżdża. Próbowałem się trochę bawić z formatowaniem printf, ale nie dało to oczekiwanych rezultatów, więc zwracam się do Was z pytaniem: czy w ogóle da się zrobić tak, żeby nawet przy liczbach dwucyfrowych wyrównać je tak, żeby trójkąt się nie rozjechał? Z góry dziękuję za odpowiedź.

 
import javax.swing.JOptionPane;


public class Glowna {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		
		int stopien = Integer.parseInt(JOptionPane.showInputDialog("Podaj stopien: "));
		stopien++;
		
		int[][] tablica = new int[stopien][];
		
		for(int i = 0; i < stopien; i ++){
			tablica[i] = new int[i+1];
		}
		
		for(int i =0; i < stopien; i ++){
			tablica[i][0] = 1;
			tablica[i][i] = 1;
		}
		
		
		for(int i = 2; i < stopien; i ++){
			for(int j =1; j <i; j ++){
				tablica[i][j] = tablica[i-1][j-1] + tablica[i-1][j];
				
			}
		}
		
	
		
		for(int i = 0; i < stopien; i ++){
			for(int j = 0; j <(stopien-i-1); j++){
				System.out.print(" ");
			}
			for(int k = 0; k<=i; k++){
				
				System.out.print(tablica[i][k]+ " ");
				
			}
			System.out.println();
		}

	}

}

0

Tabulacją lub określasz w printfie szerokość komórki.

0

Trzycyfrowe i dłuższe się nie pojawią? Najprościej, to założyć, że każda liczba jest dwucyfrowa i użyć printf. Ale i tak się rozjedzie dla większych n.

0

Eh, nie miałem za dużo do czynienia z printfem, JAVY uczę się dopiero od niedawna, mógłby ktoś mi z tym pomóc? Może być nawet rozwiązanie trudniejsze, uniwersalne, także dla liczb trzy - i czterocyfrowych, ale ucieszyłoby mnie nawet i takie dla dwu. Z góry dziękuję.

0

Jest to robota głupiego, nikomu niepotrzebna.
Jak wg Ciebie powinno to wyglądać.
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
1 5 10 10 5 1
A to?
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
1 5 10 10 5 1
1 6 15 20 15 6 1
1 7 21 35 35 21 7 1
1 8 28 56 70 56 28 8 1
1 9 36 84 126 126 84 36 9 1
1 10 45 120 210 252 210 120 45 10 1
1 11 55 165 330 462 462 330 165 55 11 1
1 12 66 220 495 792 924 792 495 220 66 12 1
1 13 78 286 715 1287 1716 1716 1287 715 286 78 13 1
1 14 91 364 1001 2002 3003 3432 3003 2002 1001 364 91 14 1
1 15 105 455 1365 3003 5005 6435 6435 5005 3003 1365 455 105 15 1

         1 16 120 560 1820 4368 8008 11440 12870 11440 8008 4368 1820 560 12

0 16 1
1 17 136 680 2380 6188 12376 19448 24310 24310 19448 12376 6188 2380
680 136 17 1
1 18 153 816 3060 8568 18564 31824 43758 48620 43758 31824 18564 8568
3060 816 153 18 1
1 19 171 969 3876 11628 27132 50388 75582 92378 92378 75582 50388 2713
2 11628 3876 969 171 19 1

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