WinFuture-Forum.de: Java: Stringvergleich Funktioniert Nicht Wie Erwartet - WinFuture-Forum.de

Zum Inhalt wechseln

Nachrichten zum Thema: Entwicklung
Seite 1 von 1

Java: Stringvergleich Funktioniert Nicht Wie Erwartet


#1 Mitglied ist offline   Iso 

  • Gruppe: aktive Mitglieder
  • Beiträge: 487
  • Beigetreten: 14. Mai 03
  • Reputation: 0
  • Wohnort:Hörstel
  • Interessen:Computer<br />Parties<br />Mädels...

  geschrieben 02. November 2006 - 20:51

Hi Leute,

habe ein kleines Problem und weiss einfach nicht, wo der Fehler liegt.

Mit der Methode readLine vom BufferedReader-Object stdin
	private InputStreamReader inStream = new InputStreamReader ( System.in );
	private BufferedReader stdin = new BufferedReader ( inStream );

lese ich ja einen Stream als String ein, später will ich diesen String mit einem Vorgegeben vergleichen in einer if-abfrage,
z.b.

if(glastype="speciaalglas"){
   kosten = 50;
   ...
}


doch leider ist die if-Anweisung immer False auch wenn der String glastype im Debugger genauso der selbe Wert ist wie "speciaalglas",
ich komme nicht dahinter, woran das liegt, warscheinlich irgendwie an der Verarbeitung des Strings vom BufferedReader, aber kp, was genau und wieso.

Danke im Voraus!
Asus F3JP-Z53 Notebook:
Intel Core 2 Duo T7200 @ 2 Ghz
Mobile Radeon X1700 256 MB
2048 MB DDR2-Ram
160 GB Hitachi HDD
Ubuntu 9.04 / Windows XP SP 3
0

Anzeige



#2 Mitglied ist offline   Witi 

  • Gruppe: aktive Mitglieder
  • Beiträge: 5.947
  • Beigetreten: 13. Dezember 04
  • Reputation: 43
  • Geschlecht:Männlich
  • Wohnort:Kingsvillage
  • Interessen:Frickeln

geschrieben 02. November 2006 - 20:59

Zitat

if(glastype="speciaalglas")

*doppel-autsch* Zwei Fehler in einer Zeile. :unsure:

Mal schauen, ob du selber drauf kommst...
1. Du verwendest einen Zuweisungs- und keinen Vergleichsoperator.
2. Vergleichsoperatoren nutzt man unter Java nur bei Datentypen. String ist aber eine Klasse. Und Objekte vergleicht man anders. Tipp: Klasse Object.
0

#3 Mitglied ist offline   G.I.Joe 

  • Gruppe: aktive Mitglieder
  • Beiträge: 978
  • Beigetreten: 19. September 04
  • Reputation: 0

geschrieben 02. November 2006 - 21:02

if(glastype.equals("speciaalglas"))

Dieser Beitrag wurde von deglerj bearbeitet: 02. November 2006 - 21:02

Eingefügtes Bild Eingefügtes Bild
0

#4 Mitglied ist offline   MNG 

  • Gruppe: aktive Mitglieder
  • Beiträge: 293
  • Beigetreten: 29. März 06
  • Reputation: 0

geschrieben 02. November 2006 - 21:13

Und falls glastype irgendwann mal null sein kann
if("speciaalglas".equals(glastype))

0

#5 Mitglied ist offline   Iso 

  • Gruppe: aktive Mitglieder
  • Beiträge: 487
  • Beigetreten: 14. Mai 03
  • Reputation: 0
  • Wohnort:Hörstel
  • Interessen:Computer<br />Parties<br />Mädels...

geschrieben 02. November 2006 - 22:37

Sorry, dass mit dem Vergleichsoperator weiss ich wohl auch, hab aber vergessen 2 = zu machen :blink:

Hmm bei dem equals mekkert der immer, dass eine ) fehlt, obwohl ich das genau so abgetippt habe, wie beschrieben ...
Asus F3JP-Z53 Notebook:
Intel Core 2 Duo T7200 @ 2 Ghz
Mobile Radeon X1700 256 MB
2048 MB DDR2-Ram
160 GB Hitachi HDD
Ubuntu 9.04 / Windows XP SP 3
0

#6 Mitglied ist offline   MNG 

  • Gruppe: aktive Mitglieder
  • Beiträge: 293
  • Beigetreten: 29. März 06
  • Reputation: 0

geschrieben 02. November 2006 - 23:25

Hmm, also die if-Bedingung stimmt so. Hast du beim Einfügen vielleicht irgendwo eine Klammer gekillt?
0

#7 Mitglied ist offline   Iso 

  • Gruppe: aktive Mitglieder
  • Beiträge: 487
  • Beigetreten: 14. Mai 03
  • Reputation: 0
  • Wohnort:Hörstel
  • Interessen:Computer<br />Parties<br />Mädels...

geschrieben 03. November 2006 - 00:30

Mal wieder mein Fehler, nicht mein Tag heute,
hab den Punkt vergessen zwischen "peciaalglas" und eguals, ist ja auch irgendwie logisch -.- ...

Jetzt funktioniert es auch,
danke!

Dieser Beitrag wurde von Iso bearbeitet: 03. November 2006 - 00:32

Asus F3JP-Z53 Notebook:
Intel Core 2 Duo T7200 @ 2 Ghz
Mobile Radeon X1700 256 MB
2048 MB DDR2-Ram
160 GB Hitachi HDD
Ubuntu 9.04 / Windows XP SP 3
0

#8 Mitglied ist offline   Rika 

  • Gruppe: aktive Mitglieder
  • Beiträge: 11.533
  • Beigetreten: 11. Juni 03
  • Reputation: 2
  • Geschlecht:Männlich

geschrieben 03. November 2006 - 00:39

Trotzdem bin ich dafür, daß du Interfaces statt konkrete Klassen verwendest und am besten auch gleich schachtelst.

private Reader stdin = new BufferedReader(new InputStreamReader ( System.in));
Konnichiwa. Manga wo shitte masu ka? Iie? Gomenne, sonoyouna koto ga tabitabi arimasu. Mangaka ojousan nihongo doujinshi desu wa 'Clamp X', 'Ayashi no Ceres', 'Card Captor Sakura', 'Tsubasa', 'Chobits', 'Sakura Taisen', 'Inuyasha' wo 'Ah! Megamisama'. Hai, mangaka gozaimashita desu ni yuujin yori.
Eingefügtes Bild
Ja, mata ne!

(For sending email please use OpenPGP encryption and signing. KeyID: 0xA0E28D18)
0

#9 Mitglied ist offline   Iso 

  • Gruppe: aktive Mitglieder
  • Beiträge: 487
  • Beigetreten: 14. Mai 03
  • Reputation: 0
  • Wohnort:Hörstel
  • Interessen:Computer<br />Parties<br />Mädels...

geschrieben 03. November 2006 - 07:34

Ja, da hast du recht, sieht auch gleich viel Übersichtlicher aus ;)
Asus F3JP-Z53 Notebook:
Intel Core 2 Duo T7200 @ 2 Ghz
Mobile Radeon X1700 256 MB
2048 MB DDR2-Ram
160 GB Hitachi HDD
Ubuntu 9.04 / Windows XP SP 3
0

Thema verteilen:


Seite 1 von 1

1 Besucher lesen dieses Thema
Mitglieder: 0, Gäste: 1, unsichtbare Mitglieder: 0