DonnyDarko
Newbie
- Registriert
- Juli 2017
- Beiträge
- 4
Hallo, ich bin noch ziemlicher Anfänger im Programmieren. Für meine Hausarbeit muss ich einen Schachbrett programmieren, die anstatt weisse und schwarze Felder, + und - ausgeben soll. Soweit hab ich es geschafft. Die nächste Aufgabe beinhaltet, dass ich per Zeilenkommandoparameter die Koordinaten für ein "X" auf das Schachfeld platzieren soll. Das hab ich irgendwie auch hinbekommen. Mein Problem ist jetzt, dass das Programm auch mit einem Zeilenkommandoparameter, quasi ohne die Koordinaten ausgegeben werden soll und da kommt bei mir ständig der Fehler, dass er die anderen Parameter erwartet "Exception in thread
"main" java.lang.ArrayIndexOutOfBoundsException: 1
at Chessboard.main(Chessboard.java:4)"
Was müsste ich umschreiben, damit 1 Zeilenkommandoparameter akzeptiert wird, 3 aber optional sind.
Hier mein Code diesbezüglich (entschuldigt mein Chaos, aber ich bin wie gesagt noch Anfänger!):
class Chessboard {
public static void main(String[] args) {
final int x = Integer.parseInt(args[0]);
final int y = Integer.parseInt(args[1]);
final int z = Integer.parseInt(args[2]);
int runter = 1;
int quer;
while (runter <= x) {
quer = 1;
while (quer <= x) {
if ((args.length == 3) && (runter == y && quer == z) && (y <= x) && (z <= x)) { //Koordinaten für das X
System.out.print (" x ");
}
else if ((runter + quer) % 2 != 0) { // + oder - Feld
System.out.print(" - ");
} else {
System.out.print(" + ");
}
quer++;
}
runter++;
System.out.print("\n");
}
}
}
"main" java.lang.ArrayIndexOutOfBoundsException: 1
at Chessboard.main(Chessboard.java:4)"
Was müsste ich umschreiben, damit 1 Zeilenkommandoparameter akzeptiert wird, 3 aber optional sind.
Hier mein Code diesbezüglich (entschuldigt mein Chaos, aber ich bin wie gesagt noch Anfänger!):
class Chessboard {
public static void main(String[] args) {
final int x = Integer.parseInt(args[0]);
final int y = Integer.parseInt(args[1]);
final int z = Integer.parseInt(args[2]);
int runter = 1;
int quer;
while (runter <= x) {
quer = 1;
while (quer <= x) {
if ((args.length == 3) && (runter == y && quer == z) && (y <= x) && (z <= x)) { //Koordinaten für das X
System.out.print (" x ");
}
else if ((runter + quer) % 2 != 0) { // + oder - Feld
System.out.print(" - ");
} else {
System.out.print(" + ");
}
quer++;
}
runter++;
System.out.print("\n");
}
}
}
Zuletzt bearbeitet: