1. Dashboard
  2. Forum
    1. Unerledigte Themen
  3. Mitglieder
    1. Letzte Aktivitäten
    2. Benutzer online
    3. Team-Mitglieder
    4. Trophäen
    5. Mitgliedersuche
  4. Tutorial Bereich
  • Anmelden
  • Registrieren
  • Suche
Dieses Thema
  • Alles
  • Dieses Thema
  • Dieses Forum
  • Seiten
  • Forum
  • Lexikon
  • Erweiterte Suche
  1. Informatik Forum
  2. Webmaster & Internet
  3. Entwicklung

chars mittels switch mit einem char[] vergleichen

  • Horrendus
  • 23. Mai 2007 um 22:28
  • Unerledigt
  • Horrendus
    7
    Horrendus
    Mitglied
    Punkte
    520
    Beiträge
    92
    • 23. Mai 2007 um 22:28
    • #1

    Hallo Leute,

    die switch Anweisung in java ist irgendwie strange ... hab sie aber bei einem Beispiel verwendet um nicht eine fast "endlose" if Anweisung zu bekommen.

    Es geht um folgendes:
    Ich hab ein Array von chars und würde gerne einen vorgegebenen char nacheinander mit allen chars aus dem array vergleichen und wenn er nicht im array ist eine variable auf false setzen.

    also eine Anweisung der Art:

    Code
    char[] abc = {'a','b','c'};
    char c = "x';
    switch (c) {
             case abc[0]:
                  break;
             case abc[1]:
                  break;
             case abc[2]:
                  break;
             default:
                  boolean ok = false;
    }
    Alles anzeigen

    Funktioniert nicht, obwohl ja eigentlich abc[0] ein char sein müsste.
    Hab es auch probiert (um es "konstant" zu machen) ein final static vor das char[] abc zu setzen, auch nichts geholfen.

    Wie macht man das am besten? chars direkt angeben? for Schleife verwenden? collection klassen verwenden (zB hashMap und dann contains oder wie das heisst ... aber das wär das nicht zu kompliziert für so eine Abfrage)? Das Array irgendwie "konstant" machen? :)

    Thx im Vorhinein.

    lg Stefan

  • hal
    32
    hal
    Mitglied
    Reaktionen
    52
    Punkte
    11.122
    Beiträge
    2.208
    • 23. Mai 2007 um 22:48
    • #2

    Er sagt eh, warums nicht geht:

    Code
    test.java:6: constant expression required
             case abc[0]:
                     ^
    test.java:8: constant expression required
             case abc[1]:
                     ^
    test.java:10: constant expression required
             case abc[2]:
                     ^

    Anscheinend muss der Wert da konstant sein.
    Da hilft wohl nur viele ifs oder eine Schleife mit einem if.

    [font=verdana,sans-serif]"An über-programmer is likely to be someone who stares quietly into space and then says 'Hmm. I think I've seen something like this before.'" -- John D. Cock[/font]

    opentu.net - freier, unzensierter Informationsaustausch via IRC-Channel!
    Hilfe und Support in Studienangelegenheiten, gemütliches Beisammensein, von und mit Leuten aus dem Informatik-Forum!

  • phil3k
    4
    phil3k
    Mitglied
    Punkte
    100
    Beiträge
    16
    • 23. Mai 2007 um 22:51
    • #3

    Mal so spontan aus der Hüfte:

    int i;
    for(i = 0; i < abc.length && abc[i] != c; i++);
    boolean ok = !(i == abc.length);

  • Maximilian Rupp 27. Dezember 2024 um 12:05

    Hat das Thema aus dem Forum Programmieren nach Entwicklung verschoben.

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!

Benutzerkonto erstellen Anmelden

Rechtliches

Impressum

Datenschutzerklärung