Du verwendest einen veralteten Browser. Es ist möglich, dass diese oder andere Websites nicht korrekt angezeigt werden. Du solltest ein Upgrade durchführen oder ein alternativer Browser verwenden.
Hallo zusammen,
wie kann man Strings mit z.B. den Buchstaben (a,y,k,t) darauf prüfen, ob sie vorher oder nachher im Alphabet kommen? Geht das mit einer einfachen Lösung?
Buchstaben als Strings?
Ok wenn man unbedingt will, aber irgendwie widerspricht das meinem Typenverständnis.
Ein Buchstabe bzw. ein char ist (na ja, wenigstens Java ist der Meinung) ein byte und das lässt sich direkt mit <, >, == vergleichen.
Das Resultat ist dann boolean, was ich persönlich bevorzuge, denn
Code:
if (charAsInt(str1) < charAsInt(str2))
ist für mein altes Gehirn besser verständlich als
Code:
if (str1.compareTo(str2)<0)
(da sehe ich nicht auf den ersten Blick welcher der beiden jetzt der "grössere" ist)
Das charAsInt ist als Pseudocode zu verstehen ...
Und sprachspezifisch stellt sich sowieso immer die Frage nach der Reihenfolge - was ich schon Diskussionen mit Kunden hatte die so sortiert haben wollten:
Ich würde einfach direkt mit dem ASCII Zeichensatz arbeiten, da die Zuweisung eines Buchstaben zum Datentyp Char nichts anderes als die Zuweisung einer Zahl ist (Char cur = 'A' / Char cur = 65). So hat man direkt eine festgelegte Reihenfolge und weiß, die größere Zahl muss weiter hinten im Alphabet liegen. Buchstaben in einem String steuerst du mit charAt(i) an. Wenn du das mit Strings machen willst, könntest du vorher auch alle Buchstaben mit LowerCase oder UpperCase in Groß- oder Kleinbuchstaben umwandeln und so auf eine Prüfung daraufhin verzichten, da im ASCII Zeichensatz Groß- vor Kleinbuchstaben gelistet sind.
um dir einen code zu j-complex lösung zu liefern..:
Code:
String buchstabe1 = "a";
String buchstabe2= "k";
if(buchstabe1.charAt(0)>buchstabe2.charAt(0)){
System.out.println("Buchstabe 1 ist der höhere Buchstabe im Alphabet!");
}
else if(buchstabe2.charAt(0)>buchstabe1.charAt(0)){
System.out.println("Buchstabe 2 ist der höhere Buchstabe im Alphabet!");
}
else{
System.out.println("Buchstabe 1 und Buchstabe 2 sind beide der selbe Buchstabe);
}