Hallo, ich habe folgende Aufgabenstellung bekommen. Ich habe es fast hinbekommen, jedoch kann es sein, dass mein Ansatz falsch ist. Die Aufgabe lautet:
Jedoch ergibt sich daraus nur dieses Muster:
Vielen Dank schonmal für die Antworten.
Mein bisherige Lösung:Schreiben Sie eine Java-Methode
public static void fuelleOberesDreieck(char[][] feld, char zeichen), die das Feld feld oberhalb der Mittellinie mit einem auf dem Kopf stehenden Dreieck füllt. (Alle anderen Array-Elemente sollen unverändert bleiben.) Als Füllzeichen soll der übergebene Parameter zeichen verwendet werden. Für ein (7,7)-Array, das zuvor durch Aufruf von fuelleFeld wie in a) gezeigt gefüllt wurde, ergibt sich durch anschließenden Aufruf von fuelleOberesDreieck('A'):
o, A, A, A, A, A, o,
o, o, A, A, A, o, o,
o, o, o, A, o, o, o,
=, =, =, =, =, =, =,
u, u, u, u, u, u, u,
u, u, u, u, u, u, u,
u, u, u, u, u, u, u,
Code:
public static void fuelleOberesDreieck(char[][] feld, char zeichen){
char mitte = '=';
char unten = 'u';
char oben ='o';
for(int i=0;i<feld.length;i++){
for(int j=0;j<feld[i].length; j++){
if(i<feld.length/2)
feld[i][j] = oben;
if(i<feld.length/2 && i+j==feld.length-2 || i+1==j || j==feld.length/2){
feld[i][j] = zeichen;
}
if(i==feld.length/2)
feld[i][j] = mitte;
if(i>feld.length/2)
feld[i][j] = unten;
}
}
}
Jedoch ergibt sich daraus nur dieses Muster:
o, A, o, A, o, A, o,
o, o, A, A, A, o, o,
o, o, o, A, o, o, o,
=, =, =, =, =, =, =,
u, u, u, u, u, u, u,
u, u, u, u, u, u, u,
u, u, u, u, u, u, u,
Vielen Dank schonmal für die Antworten.