Kezdőoldal » Számítástechnika » Programozás » Mi a hiba a programban? Miért...

Mi a hiba a programban? Miért nem megy a feltételvizsgálat? (Java nyelv)

Figyelt kérdés

Röviden. Bekérünk egy szót, amelynél kiírja ugyanazt csak másképpen. Pl: Beírod azt hogy vok és kiírja, hogy vagyok.


A programot megírtam, a baj az, hogy a feltételvizsgálat nem fut le. Itt a program


[link]


Lefuttatom, bekéri a szót, majd annyit ír ki: "Press any button to continue"


Mi a hiba benne? Hogyan lehetne megcsinálni?



2014. dec. 18. 18:48
 1/2 anonim ***** válasza:

A legnagyobb hiba benne az hogy Stringeket nem a "==" operátorral hasonlítjuk össze. A "==" operátor a stringek referenciáit hasonlítja össze, tehát csak akkor lesz igaz ha mint két oldalon ugyan az az objektum áll.


Helyesen:

a.equals("vok")


Másik hiba az pedig az hogy ha jól emlékszem a Scanner.nextLine beolvassa a sor végéről a "\n" karaktert is, tehát ha "vok"-ot írsz be és nyomsz egy entert akkor az "a" változó tartalma "vok\n" lesz.

2014. dec. 18. 19:58
Hasznos számodra ez a válasz?
 2/2 anonim ***** válasza:

#1: Egy apró tévedés:


A line separatort sem adja vissza a scanner.

[link]


A probléma a == vs equals kérdéskörében van.


if ("vok".equals(a)) működni fog, de inkább az equalsIgnoreCase-t ajánlanám az adott célra (leszámítva a többi aggályos részletet)

2014. dec. 19. 12:46
Hasznos számodra ez a válasz?

Kapcsolódó kérdések:





Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!