einfaches Schachbrett generieren

Esto

Mitglied
Guten Tag,

folgende Aufgabe: Ich soll ein nummeriertes "Schachbrett" generieren, was in etwa so wie Folgendes aussehen soll:
Code:
1 2 3 4 5 6 7 8 
2 3 4 5 6 7 8 9 
3 4 5 6 7 8 9 10 
4 5 6 7 8 9 10 11 
5 6 7 8 9 10 11 12 
6 7 8 9 10 11 12 13 
7 8 9 10 11 12 13 14 
8 9 10 11 12 13 14 15 
9 10 11 12 13 14 15 16

Allerdings soll die Ausgabe quadratisch bzw. rechteckig sein und nicht wie hier in der unteren rechten Hälfte eine "Spitze" haben. Ich weiß leider nicht wie ich das anstellen soll. Problem hierbei sind die zweistelligen Zahlen.

Mein Java Code dazu:
Java:
public class Schachbrett {
	public static void main(String[] args){
		for (int i = 0; i < 9; i++){
			for (int j = i + 1;j < i + 9;j++){
				System.out.print(j + " ");
				
			}
			System.out.println();
		}
	}

}

Kann mir jemand verraten wie ich das Rechteck hinbekomme? Bitte nur mit einfachsten Mitteln, ich bin schließlich kein erfahrener Programmierer 😉

Danke
 
Entweder du arbeitest mit Tabs oder mit printf

Das einfachste wäre wohl:
[c]System.out.print(j + "\t");[/c]
 
Danke für deine Antwort.
Könntest du mir bitte noch sagen wie ich speziell die sogenannten Tabs einfügen muss? Das ist mir leider kein Begriff.

Edit: AH ok , du hast es dazu geschrieben. 😉 Alles klar Danke
 
Die Ausgabe ist nun Folgende
Code:
1	 2	 3	 4	 5	 6	 7	 8	 
2	 3	 4	 5	 6	 7	 8	 9	 
3	 4	 5	 6	 7	 8	 9	 10	 
4	 5	 6	 7	 8	 9	 10	 11	 
5	 6	 7	 8	 9	 10	 11	 12	 
6	 7	 8	 9	 10	 11	 12	 13	 
7	 8	 9	 10	 11	 12	 13	 14	 
8	 9	 10	 11	 12	 13	 14	 15	 
9	 10	 11	 12	 13	 14	 15	 16

Kann ich die Abstände noch verringern?
 
Oder ganz selber bauen:

Java:
		public static void main(String[] args){
	        for (int i = 0; i < 9; i++){
	            for (int j = i + 1;j < i + 9;j++){
	                System.out.print(j + spacer(j,4));
	                
	            }
	            System.out.println();
	        }
	    }
		
		private static String spacer(int i, int spaces){
			String s = ""+i;
			StringBuilder sb = new StringBuilder();
			for(int j = 0; j < spaces - s.length(); j++){
				sb.append(" ");
			}
			return sb.toString();
		}
 

Zurück
Oben