Hallo Leute! Bin Neuling in Java, habt bitte Nachsicht
Habe ein Programm, dass Zahlen in "Digitalschrift" umwandelt:
Mein Problem ist, dass dieser Block scheinbar völlig ignoriert wird:
Ich möchte dass maximal 10 Zahlen in der Konsole ausgegeben werden. Andernfalls verschiebt sich alles.
Wo liegt das Problem, warum fängt er es nicht ab?
Danke im Voraus!
Habe ein Programm, dass Zahlen in "Digitalschrift" umwandelt:
Java:
public class banner {
public static final String[][] numbers = {
{" ##### ",
"# #",
"# #",
"# #",
"# #",
"# #",
" ##### "},
{" # ",
" ## ",
"# # ",
" # ",
" # ",
" # ",
"#####"},
{" ##### ",
"# #",
" #",
" ##### ",
"# ",
"# ",
"#######"},
{" ##### ",
"# #",
" #",
" ##### ",
" #",
"# #",
" ##### "},
{"# ",
"# # ",
"# # ",
"# # ",
"#######",
" # ",
" # "},
{"#######",
"# ",
"# ",
"###### ",
" #",
"# #",
" ##### "},
{" ##### ",
"# #",
"# ",
"###### ",
"# #",
"# #",
" ##### "},
{"#######",
"# # ",
" # ",
" # ",
" # ",
" # ",
"# "},
{" ##### ",
"# #",
"# #",
" ##### ",
"# #",
"# #",
" ##### "},
{" ##### ",
"# #",
"# #",
" ######",
" #",
"# #",
" ##### "}
};
public static void main(String[] args) {
String input;
if(args.length == 0) {
System.out.println("Keine Parameter uebergeben.");
System.exit(0);
} else {
if(args.length > 10) {
input = args[0];
System.out.println("Parameter verkuerzt.");
input = input.substring(0, 10);
}
input = args[0];
for(int i = 0; i < input.length(); i++) {
if(!Character.isDigit(input.charAt(i))) {
System.out.println("Parametereingabe ungueltig, da nur Ziffern erlaubt sind.");
System.exit(0);
}
}
String zeichenkette = input;
// Ausgabe der Zahlen
for (int line = 0; line < numbers[0].length; line++) {
for (int i = 0; i < zeichenkette.length(); i++) {
int index = zeichenkette.charAt(i) - '0';
if (index >= 0 && index <= 9) {
System.out.print(numbers[index][line] + " ");
}
if (zeichenkette.charAt(i) == ' ') {
System.out.print("");
}
}
System.out.println();
}
}
}
}
Mein Problem ist, dass dieser Block scheinbar völlig ignoriert wird:
Java:
if(args.length > 10) {
input = args[0];
System.out.println("Parameter verkuerzt.");
input = input.substring(0, 10);
}
Ich möchte dass maximal 10 Zahlen in der Konsole ausgegeben werden. Andernfalls verschiebt sich alles.
Wo liegt das Problem, warum fängt er es nicht ab?
Danke im Voraus!
Zuletzt bearbeitet von einem Moderator: