Hallo,
ich habe eine Methode mit Parameter geschrieben, die eine ArrayList<String> entweder auf die Konsole oder in das LOG ausgibt. Eigentlich ist es eine einfache IF-Abfrage.
Irgendwie verstehe ich das oder ich habe Tomaten auf den Augen?
Aufruf der Funktion:
Die Methode
Wenn der Parameter "" ist -> Ausgabe : Der Parameter "Log"/"Kon" fehlt -> OK
Wenn der Parameter "LoL" ist -> Ausgabe : Der Parameter "Log"/"Kon" ist falsch geschrieben -> OK
Wenn der Parameter "Log" ist -> Ausgabe : Der Parameter "Log"/"Kon" ist falsch geschrieben -> falsch
Wenn der Parameter "Kon" ist -> Ausgabe : Der Parameter "Log"/"Kon" ist falsch geschrieben -> falsch
Die gleichen Ergebnisse erhalte ich wenn ich die Methode so abändere:
Jetzt habe ich die IF Anweisen anders andgeordnet
Wenn der Parameter "" ist -> Ausgabe : Der Parameter "Log"/"Kon" fehlt -> OK
Wenn der Parameter "LoL" ist -> Ausgabe : Der Parameter "Log"/"Kon" ist falsch geschrieben -> OK
Wenn der Parameter "Log" ist -> Ausgabe : Der Parameter "Log"/"Kon" ist falsch geschrieben wird im Log geschrieben und die Liste wird im LOG ausgegeben ? Sollte doch nur die Liste ausgegeben werden?
Wenn der Parameter "Kon" ist -> Ausgabe : Der Parameter "Log"/"Kon" ist falsch geschrieben wird in LOg geschrieben und die Liste wird in der Konsole ausgegeben. Auch hier sollte "Der Parameter "Log"/"Kon" ist falsch geschrieben" nicht in das Log geschrieben werden.
Eigentlich sollten alle If Strukturen funktionieren, aber ich sehe nicht wo das Problem ist.
Über Hilfe würde ich mich sehr freuen.
Vielen Dank
Mi
ich habe eine Methode mit Parameter geschrieben, die eine ArrayList<String> entweder auf die Konsole oder in das LOG ausgibt. Eigentlich ist es eine einfache IF-Abfrage.
Irgendwie verstehe ich das oder ich habe Tomaten auf den Augen?
Aufruf der Funktion:
Code:
ausgabeListeLogKon(ArrayListe, "Log")
ausgabeListeLogKon(ArrayListe, "Kon")
Java:
**
* Ausgabe von Listen in das LOG oder auf die Konsole
*
* @param liste <b>ArrayList\<String\></b>
* @param logKon <b>String</b> ("Log"/"Kon")
*/
// bFunk ausgabeListeLogKon(ArrayList<String> liste, String logKon)
public static void ausgabeListeLogKon(ArrayList<String> liste, String logKon) {
if (logKon.isEmpty()) {
LOG.error("Der Parameter \"Log\"/\"Kon\" fehlt");
} else if (!"Log".equals(logKon) || !"Kon".equals(logKon)) {
LOG.error("Der Parameter \"Log\"/\"Kon\" ist falsch geschrieben");
} else if (logKon.equals("Log")) {
LOG.info("Liste wird im LOG ausgegeben");
liste.forEach((zeichenkette) -> {
LOG.info(zeichenkette);
});
// Ausgabe in LOG
} else if (logKon.equals("Kon")) {
LOG.info("Liste wird auf der Konsole ausgegeben");
liste.forEach((zeichenkette) -> {
System.out.println(zeichenkette);
});
} // Ausgabe auf Konsole
} // ausgabeListeLogKon
Wenn der Parameter "LoL" ist -> Ausgabe : Der Parameter "Log"/"Kon" ist falsch geschrieben -> OK
Wenn der Parameter "Log" ist -> Ausgabe : Der Parameter "Log"/"Kon" ist falsch geschrieben -> falsch
Wenn der Parameter "Kon" ist -> Ausgabe : Der Parameter "Log"/"Kon" ist falsch geschrieben -> falsch
Die gleichen Ergebnisse erhalte ich wenn ich die Methode so abändere:
Java:
public static void ausgabeListeLogKon(ArrayList<String> liste, String logKon) {
if (logKon.isEmpty()) {
LOG.error("Der Parameter \"Log\"/\"Kon\" fehlt");
} else if (logKon != "Log" || logKon != "Kon") {
LOG.error("Der Parameter \"Log\"/\"Kon\" ist falsch geschrieben");
} else if (logKon == "Log") {
LOG.info("Liste wird im LOG ausgegeben");
liste.forEach((zeichenkette) -> {
LOG.info(zeichenkette);
});
// Ausgabe in LOG
} else if (logKon == "Kon") {
LOG.info("Liste wird auf der Konsole ausgegeben");
liste.forEach((zeichenkette) -> {
System.out.println(zeichenkette);
});
} // Ausgabe auf Konsole
} // ausgabeListeLogKon
Java:
public static void ausgabeListeLogKon(ArrayList<String> liste, String logKon) {
if (logKon.isEmpty()) {
LOG.error("Der Parameter \"Log\"/\"Kon\" fehlt");
} else if (!logKon.equals("Kon") || !logKon.equals("Log")) {
LOG.error("Der Parameter \"Log\"/\"Kon\" ist falsch geschrieben");
} // Leer oder Falsch geschrieben
if (logKon.equals("Log")) {
LOG.info("Liste wird im LOG ausgegeben");
liste.forEach((zeichenkette) -> {
LOG.info(zeichenkette);
});
// Ausgabe in LOG
} else if (logKon.equals("Kon")) {
LOG.info("Liste wird auf der Konsole ausgegeben");
liste.forEach((zeichenkette) -> {
System.out.println(zeichenkette);
});
} // Ausgabe auf Konsole
} // ausgabeListeLogKon
Wenn der Parameter "LoL" ist -> Ausgabe : Der Parameter "Log"/"Kon" ist falsch geschrieben -> OK
Wenn der Parameter "Log" ist -> Ausgabe : Der Parameter "Log"/"Kon" ist falsch geschrieben wird im Log geschrieben und die Liste wird im LOG ausgegeben ? Sollte doch nur die Liste ausgegeben werden?
Wenn der Parameter "Kon" ist -> Ausgabe : Der Parameter "Log"/"Kon" ist falsch geschrieben wird in LOg geschrieben und die Liste wird in der Konsole ausgegeben. Auch hier sollte "Der Parameter "Log"/"Kon" ist falsch geschrieben" nicht in das Log geschrieben werden.
Eigentlich sollten alle If Strukturen funktionieren, aber ich sehe nicht wo das Problem ist.
Über Hilfe würde ich mich sehr freuen.
Vielen Dank
Mi