Ich versuche eine Methode zu erstellen, die überprüft, ob das Login (Benutzername und Passwort) mindestens sechs Zeichen hat.
Um zu erkennen, dass ich diese Methode public void checkLoginData(final String username, final String password)
erstellt habe. In dieser Methode erstelle ich boolesche Werte (user und pass), mit denen ich 4 verschiedene boolesche Ketten erzeugen kann:
Nun würde ich gerne eine switch / case-Anfrage für jede von ihnen machen, aber ich verstehe nicht, wie ich das realisieren soll ...
Wenn du fragst, warum ich den Schalter brauche, denke ich, dass ich ihn brauche, weil ich für jede dieser vier Booleschen Ketten gerne etwas anderes machen würde. Außerdem würde ich das gerne auf eine sexy-Java-Art tun, nicht mit tausenden verschiedenen 'ifs': P, bitte helfen!
Hier ist der Code der Methode:
%Vor%Danke für die Hilfe im Voraus!
Beste Grüße Safari
Wenn Sie wirklich einen "sexy-Java-Weg" wollen (aber das hängt davon ab, was Sie als solches verstehen), können Sie etwas wie (Java 7 erforderlich) tun:
%Vor%aber ich würde es vorziehen, nur zwei verschiedene Prüfungen zu machen, jede mit seiner eigenen Nachricht, wobei die Nachricht zur Präsentation hinzugefügt wird. (und nicht sicher, ob das als "sexy-java-way", eher als "Workaround" bezeichnet werden könnte)
Grundsätzlich gibt es keinen einfacheren Weg als diesen und keine Möglichkeit, dies in wesentlich weniger Codezeilen zu tun.
%Vor%Meiner Meinung nach ist dies die beste Lösung.
Ich würde das auch auf eine sexy-java-Art machen, nicht mit tausenden verschiedenen 'ifs'
Wenn Sie unter "sexy-java-way" "clever" oder "obskur" verstehen, gibt es andere Möglichkeiten, dies zu tun. Aber sie machen den Code sicherlich nicht lesbarer / wartbarer.
Übrigens, das obige beinhaltet nur 3 ... das ist richtig DREI ... if
statements.
Allerdings Ihr (letztes) spezifisches Beispiel:
%Vor%kann wie folgt vereinfacht werden:
%Vor%Beachten Sie, dass hier eine Vereinfachung möglich ist, da die Aktionen (die "Fälle" in Ihrem hypothetischen Schalter) in einfache boolesche Zuweisungen umgestaltet werden können und die Tests tatsächlich unabhängig voneinander sind. Im Allgemeinen können Sie das nicht tun ...
... aber ich möchte es lieber celver haben, um meinen Chef zu beeindrucken;)
Im Ernst, wenn ich dein Boss wäre und du einen solchen Code geschrieben hättest, wäre ich UN beeindruckt. Jeder Chef, der denkt, dass Sie schlau sind, obskuren und nicht zu erhaltenden Code zu schreiben, ist ahnungslos.
Tags und Links java android switch-statement boolean