Hi Leute,
ich habe ein Problem bei der Ausgabe des Magischen Würfels.
Meine Ausgabe sieht ungefähr so aus:
| 17 | 24 | 1 | 8 | 15 |
| 23 | 5 | 7 | 14 | 16 |
| 4 | 6 | 13 | 20 | 22 |
| 10 | 12 | 19 | 21 | 3 |
| 11 | 18 | 25 | 2 | 9 |
Kann mir jemand sagen wie ich meinen code verändern muss damit er rechtsbündig formatiert ist?
Dankeschön für eure hilfe im vorraus
ich habe ein Problem bei der Ausgabe des Magischen Würfels.
Meine Ausgabe sieht ungefähr so aus:
| 17 | 24 | 1 | 8 | 15 |
| 23 | 5 | 7 | 14 | 16 |
| 4 | 6 | 13 | 20 | 22 |
| 10 | 12 | 19 | 21 | 3 |
| 11 | 18 | 25 | 2 | 9 |
Kann mir jemand sagen wie ich meinen code verändern muss damit er rechtsbündig formatiert ist?
Java:
public class magic extends Environment {
public static void main(String[] args) {
new magic().mainProgram(args);
}
void mainProgram(String[] args) {
int n = 0;
int i = 1;
int x;
int zeile = 0;
int spalte = 0;
System.out.print("Bitte geben Sie die Ordnung n, n>2 "
+ "und n ungerade ein: ");
n = stdin.readInt(); // Ordnung einlesen
// Bei falscher eingabe erneut eingeben bzw. einlesen
while(n<3 || n==1 || n%2==0){
System.out.print("Der Wert denn Sie eingeben "
+ "muss ungerade sein! Bitte geben Sie einen neuen Wert ein: ");
n = stdin.readInt();
}
int [][] feld = new int [n][n];
zeile = 0;
spalte = n/2;
// Die 1 kommt immer in die mitte der der ersten Zeile.
if(i==1){
feld[0][n/2]=i;
}
// Jetzt wird das Array befüllt
while(i < n*n) {
if(i%n == 0){
i++;
zeile++;
feld[zeile][spalte]=i;
}
else {
i++;
zeile--;
spalte++;
spalte=spalte%n;
zeile=(zeile+n)%n;
feld[zeile][spalte]=i;
}
}
// Array wird hier ausgegeben
for(zeile=0; zeile<n; zeile++){
for(spalte=0; spalte<n; spalte++){
x=feld[zeile][spalte];
System.out.print(" | ");
System.out.print(x);
if(spalte==n-1){
System.out.println(" | ");
}
}
}
int magische_zahl=0;
magische_zahl=(n*((n*n)+1))/2;
System.out.println("Die Magische Zahl ist: "+magische_zahl);
}
}
Dankeschön für eure hilfe im vorraus
Zuletzt bearbeitet: