zur vorherigen Seite   zum Inhaltsverzeichnis   zur nächsten Seite

Anwort:

"BTW".equals( " BTW ") ist false.

Leerzeichen machen einen Unterschied beim Stringvergleich.


Beispiel mit Strings

Hier ist ein Programm, das den Anwender nach einem Akronym fragt und dann dessen Bedeutung ausgibt.

import java.util.Scanner;
public class StringSwitcher
{
  public static void main ( String[] args )
  {
    String userIn;
    String meldung = "userIn ist: ";

    Scanner scan = new Scanner( System.in );

    System.out.print("Akronym eingeben: ");
    userIn = scan.nextLine().trim().toUpperCase();

    switch ( userIn )
    {
      case "LOL":
        meldung = meldung + "Laugh Out Loud" ;
        break;

      case "BFF":
        meldung = meldung + "Best Friends Forever" ;
        break;

      case "SO":
        meldung = meldung + "Significant Other" ;
        break;

      case "THS":
      case "THKS":
      case "TX":
        meldung = meldung + "Thanks" ;
        break;

      default:
        meldung = meldung + "unknown" ;

    }

    System.out.println ( meldung ) ;
  }
}

Anwender könnten Leerzeichen vor oder nach dem Akronym eingeben. Die Methode String.trim() entfernt Leerzeichen auf beiden Seiten eines Strings.

Ein anderes Problem ist, dass der Anwender Groß- oder Kleinbuchstaben eingeben kann. Die Methode String.toUpperCase() erzeugt einen String, der nur aus Großbuchstaben besteht.


Frage 15:

Könnte die switch-Anweisung nicht einfacher gestaltet werden?