Hét vraag- en antwoordplatform van Nederland

Wat doe ik fout in mijn code?

Ik ben begonnen aan een eigen os in Java 1.8 maar telkens geeft hij een fout als ik vraag in te loggen of te registreren. Ik gebruik: if (loginMethod.toUpperCase() == "L"). Maar als ik dit doe registreert het systeem de "L" niet als een "L" of een "R", zou iemand naar mijn code willen kijken en zeggen hoe het wel moet?

Je vindt de code op:

Toegevoegd na 1 minuut:
Je vindt de code op: https://www.mediafire.com/file/svkab64xu7lb56y/source.java

Verwijderde gebruiker
7 jaar geleden

Heb je meer informatie nodig om de vraag te beantwoorden? Reageer dan hier.

Geef jouw antwoord

Het is niet mogelijk om je eigen vraag te beantwoorden Je mag slechts 1 keer antwoord geven op een vraag Je hebt vandaag al antwoorden gegeven. Morgen mag je opnieuw maximaal antwoorden geven.

/
Geef Antwoord
+
Selected image

Antwoorden (1)

Er is volgens mij niets mis met de haakjes of accolades. Jouw probleem zit hem in het gebruik van de == operator. Deze test op reference equality, en je moet value equality hebben. Dus met == test je of twee object references gelijk zijn, en dat is niet wat je wilt, je wilt de waardes vergelijken.

Verander de if statements eens zo:

if (loginMethod.toUpperCase().equals("L")) {
(Lees meer...)
Verwijderde gebruiker
7 jaar geleden
Verwijderde gebruiker
7 jaar geleden
Bedankt, nu werkt het.
Verwijderde gebruiker
7 jaar geleden
Top! Succes met je projectje (klinkt als een flinke klus). Wees wel bedacht op dit soort taal eigenaardigheden. In bv. C# werkt het weer net wat anders.
Deel jouw antwoord

Het is niet mogelijk om je eigen vraag te beantwoorden Je mag slechts 1 keer antwoord geven op een vraag Je hebt vandaag al antwoorden gegeven. Morgen mag je opnieuw maximaal antwoorden geven.

/
Geef Antwoord
+
Selected image