Martin L.: java eingabe

Moin Moin

heute habe ich mal ein java problem dank meines Info LK's
es ist wahrscheinlich einfach da ich es schon mal gelöst hatte nur die lösung habe ich nicht mehr und ich stehe auf dem schlauch...

ich möchte eine Scanner eingabe vergleichen

if(eingabe.next() == "b")
      {
       umfrage.zufall();
       umfrage.anzahl();
       umfrage.ausgabe();
      }

soooooo wenn ich jetzt aufgefordert werde etwas einzutippen, und tippe dann ein "b" ein, dann erkennt der das nicht als gleich an....
ich dachte dann, es würde bei eingabe.next() vllt der ascii code oder ähnliches zurückgegeben keine ahnung dann habe ich mal

if(eingabe.next() == eingabe.next())
      {
    umfrage.zufall();
    umfrage.anzahl();
    umfrage.ausgabe();
    }

probiert und beide male "b" eingetippt und trotzdem geht es nicht.... ich hoffe ihr wisst hilfe...

danke sehr

  1. Hi,

    ich kenn mich nicht wirklich mit Java aus, aber in anderen Programmiersprachen kannst du nicht einfach 2 Strings miteinander vergleichen. In Java gibt es bestimmt eine String-Klasse die eine Funktion zum vergleichen 2er String hat. Die würde ich für sowas immer benutzen.

    Stefan

    1. naja wenn ich

      ("b" == "b") nehme dann geht es aber ich werde mal suchen ob das geht ansonsten wandel ich den String in sein Ascii code um wandel den in ne integer zahl um und vergleiche die ^^ die idee ist mir gerade gekommen^^

      ich such mal danke sehr

      1. naja wenn ich

        ("b" == "b") nehme dann geht es aber ich werde mal suchen ob das geht ansonsten wandel ich den String in sein Ascii code um wandel den in ne integer zahl um und vergleiche die ^^ die idee ist mir gerade gekommen^^

        ich such mal danke sehr

        Naja schau mal hier.
        http://www.mrunix.de/forums/archive/index.php/t-36463.html

        Das war genau, was ich vermutet habe...

        1. Na da sag ich doch mal danke genau so klappt es... und ich hab auch von nem freund die lösung vom ersten mal besorgt da hab ich es wirklich umständlich über den Ascii code gemacht....

          also danke sehr

          1. Strings werden in JAVA mit der equals function verglichen

            if(strTest.equals("b))
            {
            ...
            }

            1. Hallo Pete,

              nicht nur Strings, sondern generell alle Objekte, die eine Funktion boolean equals(Object o) implementieren.

              Der Grund dafür ist einfach: Zwei Objekte, die den selben Inhalt haben, sind _nicht identisch_ (sprich: es ist eigentlich ein Objekt, auf das zwei Zeiger zeigen).
              Siehe Java ist auch eine Insel, Kapitel 3.8: Identität und Gleichheit.

              Grüße

              Marc Reichelt || http://www.marcreichelt.de/

              --
              Linux is like a wigwam - no windows, no gates and an Apache inside!
              Selfcode: ie:{ fl:| br:> va:} ls:< fo:} rl:( n4:( ss:) de:> js:| ch:? sh:| mo:) zu:)