Ich möchte, dass wenn der Benutzer in der Kommandozeile Parameter eingibt, und nicht einer dieser Parameter mit einem "FH" startet, das Programm abbricht mit der Fehlermeldung "Fehlercode \"FHxxx\" nicht vorhanden - Fuellhoehe OK".
Aber falls jetzt irgendwo ein FHxxx drin vorkommt, dann soll das Ganze nicht abbrechen und auch keine Fehlermeldung ausgegeben werden.
Mein Programm aktuell gibt aber trotzdem eine Fehlermeldung aus, auch wenn ein FHxxx irgendwo in den Parametern drin steht. Es geht hierbei um Zeile 19-25.
Allerdings wenn der Parameter mit FH direkt zu Beginn steht, dann ist alles in Orndung, dann wird keine Fehlermeldung ausgegeben.
Eingabe: FH232 XL232 KO233 -> liefert richtiges Ergebnis
Eingabe: XL232 KO233 FH232 -> liefert Fehlermeldung, dass FH nirgendwo vorkommt, obwohl das nur am Ende steht, hier hätte eigentlich selbiges Ergebnis wie oben herauskommen müssen
Eingabe: XL232 KO233 KK222 -> liefert richtiges Ergebnis, dass nirgendwo FH vorkommt
Ich sage ja in meinem Code: starte bei i=0 bis kleiner der Anzahl der Kommandozeilenparameter.
WENN ein String NICHT mit FH startet, innerhalb dieses Intervalls, dann gib die Fehlermeldung aus, dass FH nicht vorhanden ist.
Ich "sehe" meinen Fehler, aber ich weiß nicht wie ich den behebe. Denn wenn die erste Eingabe kein FH ist, dann spuckt er logischerweise direkt eine Fehlermeldung aus, das will ich ja nicht. Der soll ja erst alles komplett durchlaufen und wenn er dann nirgendwo ein FH gefunden hat, dann ist es ok eine Fehlermeldung auszugeben.
So sucht er ja quasi nur den ersten String und liefert sofort Fehlermeldung, wenn es kein FH ist.
Aber falls jetzt irgendwo ein FHxxx drin vorkommt, dann soll das Ganze nicht abbrechen und auch keine Fehlermeldung ausgegeben werden.
Mein Programm aktuell gibt aber trotzdem eine Fehlermeldung aus, auch wenn ein FHxxx irgendwo in den Parametern drin steht. Es geht hierbei um Zeile 19-25.
Allerdings wenn der Parameter mit FH direkt zu Beginn steht, dann ist alles in Orndung, dann wird keine Fehlermeldung ausgegeben.
Eingabe: FH232 XL232 KO233 -> liefert richtiges Ergebnis
Eingabe: XL232 KO233 FH232 -> liefert Fehlermeldung, dass FH nirgendwo vorkommt, obwohl das nur am Ende steht, hier hätte eigentlich selbiges Ergebnis wie oben herauskommen müssen
Eingabe: XL232 KO233 KK222 -> liefert richtiges Ergebnis, dass nirgendwo FH vorkommt
Ich sage ja in meinem Code: starte bei i=0 bis kleiner der Anzahl der Kommandozeilenparameter.
WENN ein String NICHT mit FH startet, innerhalb dieses Intervalls, dann gib die Fehlermeldung aus, dass FH nicht vorhanden ist.
Ich "sehe" meinen Fehler, aber ich weiß nicht wie ich den behebe. Denn wenn die erste Eingabe kein FH ist, dann spuckt er logischerweise direkt eine Fehlermeldung aus, das will ich ja nicht. Der soll ja erst alles komplett durchlaufen und wenn er dann nirgendwo ein FH gefunden hat, dann ist es ok eine Fehlermeldung auszugeben.
So sucht er ja quasi nur den ersten String und liefert sofort Fehlermeldung, wenn es kein FH ist.
Java:
import java.io.*;
import javax.swing.*;
import java.util.*;
public class Uebung {
public static void main (String[] args) {
int KoZeiPa = args.length;
int i=0;
System.out.println("===========================================");
System.out.println("=== Fuellstandsregelung eines Extruders ===");
System.out.println("===========================================");
if(KoZeiPa==0) {
System.out.println("Keine Fehlercodes -- Extruder in Ordnung");
System.out.println("--> Programmende");
}
for(i=0; i<KoZeiPa; i++) {
if(!(args[i].startsWith("FH"))) {
System.out.println("Fehlercode \"FHxxx\" nicht vorhanden - Fuellhoehe OK");
break;
}
break;
}
System.exit(0);
}
}