Hey Leute, bin neu hier, Anfänger, verzweifel langsam und hoffe hier auf Hilfe. Folgende Aufgabe:
Ich habe eine Aufgabenstellung, einen oder mehrere Sägezähne als char[][] in der Ausgabe zu printen mit Hilfe von '|' und '\'. Das Ganze wird am Ende von einem Testprogramm geprüft, ich soll nur die 3 Methoden schreiben.
|\
| \ ....
Durch die ersten 2 Methoden (int h) entsteht ein einzelner Zahn.
Methode 3 (int h, int z): Hier spielt die Anzahl der Zähne eine Rolle. Die Zähne sollen von links nach rechts ausgegeben werden.
Problem:
Mir fällt es schwer die Anzahl z mit einzubringen. Die Diagonalen und Striche spielen auch nicht richtig zusammen. Beim Testen in der Main-Methode muss auch was falsch sein, weil ich öfter mal mit dem Index "outofBounce" gerate. Es läuft dann immer durch zufälliges Verändern von Zahlen.
Gibt es Anregungen, das Ganze einfacher zu schreiben?
Es mir zum Testen selbst auszugeben, macht mir auch etwas zu schaffen.
Danke schonmal für Hilfe und Anregungen, Thread-Post und Programme in Zukunft besser zu gestalten.
Hier mein Code (zahn0 & zahn1 rausgenommen):
Ich habe eine Aufgabenstellung, einen oder mehrere Sägezähne als char[][] in der Ausgabe zu printen mit Hilfe von '|' und '\'. Das Ganze wird am Ende von einem Testprogramm geprüft, ich soll nur die 3 Methoden schreiben.
|\
| \ ....
Durch die ersten 2 Methoden (int h) entsteht ein einzelner Zahn.
Methode 3 (int h, int z): Hier spielt die Anzahl der Zähne eine Rolle. Die Zähne sollen von links nach rechts ausgegeben werden.
Problem:
Mir fällt es schwer die Anzahl z mit einzubringen. Die Diagonalen und Striche spielen auch nicht richtig zusammen. Beim Testen in der Main-Methode muss auch was falsch sein, weil ich öfter mal mit dem Index "outofBounce" gerate. Es läuft dann immer durch zufälliges Verändern von Zahlen.
Gibt es Anregungen, das Ganze einfacher zu schreiben?
Es mir zum Testen selbst auszugeben, macht mir auch etwas zu schaffen.
Danke schonmal für Hilfe und Anregungen, Thread-Post und Programme in Zukunft besser zu gestalten.
Hier mein Code (zahn0 & zahn1 rausgenommen):
Java:
public class Saegeblatt {
public static void main(String[] args) {
char[][] a = zahn0(4);
char[][] b = zahn1(4);
char[][] c = zahn2(4, 2);
for(int zeile=0; zeile<c.length; zeile++) {
for(int spalte=0; spalte<c.length; spalte++) {
System.out.print(c[zeile][spalte]);
}
System.out.println();
}
}
static char[][] zahn2 (int h, int z) {
int dzaehler=1;
int gzaehler=0; // vielleicht um 5 erhöhen, aber wie???
// Erzeugen des großen Feldes
char[][] fg = new char[h][z*h+1];
for (int zeile=0; zeile<fg.length; zeile++){
for(int spalte=0; spalte<z*h+1; spalte++){
fg[zeile][spalte] = 'x';}}
for(int i=0; i<z; i++) {
// Gerade Striche setzen
while(gzaehler < z*h+1){
for(int zeile=0; zeile<fg.length; zeile++){
fg[zeile][gzaehler] = '|';
}
gzaehler +=5;
}
// Diagonalen setzen (nicht richtig, da ich nicht weiß, wie ich es richtig setze!)
for(int zeile=0; zeile<fg.length; zeile++){
fg[zeile][dzaehler] = '\\';
dzaehler++;
}
}
return fg;
}
}