• also wie schon einmal berichtet fange ich gerade erst mit java an.
    ich hab mich jetzt einmal mit der übungsaufgabe des prologs probiert, und hab schon die erste frage:
    ich habe einer String variable namens auswahl einen wert durch eingabe zugeordnet also: auswahl = eingabe.next();
    jetzt will ich mittels switch die eingabe mit 3 namen vergleichen
    also:
    switch (auswahl){
    case "NAME1":
    ANWEISUNG;
    case "NAME2":
    ANWEISUNG;
    case "NAME3":
    ANWEISUNG;
    default:
    ANWEISUNG;
    }

    dann hab ich aber den fehler:
    PROGRAMMNAME:ZEILE: incompatible types
    found : java.lang.string
    required : int
    switch(auswahl)
    ^

    Kann man für switch überhaupt string variablen benutzen?
    wenn ja, was ist dann der fehler?
    wenn nein, wie mach ich das dann bzw wie muss ich das schreiben damit switch auch für strings gehen?

    mfg n4p

  • Für Vergleiche aber == nehmen, für Zuweisungen =.
    Für Strings nimmt man außerdem "", '' ist für chars.
    Also:
    if (auswahl == "name1") anweisung1;
    Was aber auch nur von theoretischem Interesse ist, da man hier die Speicheradressen vergleicht. Für Strings verwendet man unter Java die Methode equals(), also ganz richtig:
    if (auswahl.equals("name1")) anweisung1;

  • nur am rande....es ist sicher kein fehler, jedoch ist es schöner die string-fkt equals zu benutzen...
    also:

    if (auswahl.equals("name1")) ...

    "ich bin so kluk. K-L-U-K"
    (Homer Jay Simpson)

Jetzt mitmachen!

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