Avaleht
uus teema   vasta Tarkvara »  Programmeerimine »  javaga alustamine märgi kõik teemad loetuks
märgi mitteloetuks
vaata eelmist teemat :: vaata järgmist teemat
Hinnavaatlus :: Foorum :: Uudised :: Ärifoorumid :: HV F1 ennustusvõistlus :: Pangalink :: Telekavad :: HV toote otsing
autor
sõnum Saada viide sõbrale.  :: Teata moderaatorile teata moderaatorile
otsing:  
smily
HV kasutaja

liitunud: 20.12.2010




sõnum 09.03.2013 22:14:28 javaga alustamine vasta tsitaadiga

Õpin vaikselt javat ja püstitasin omale ülesande ning jäin hätta, ehk keegi oskab aidata. Ülesandeks oli, et kasutajalt küsitakse parool. Kui sisestatud parool on õige siis öeldakse õige, kui vale siis vale. Asi peaks käima sisestus boxi kaudu.
Viga tekib 6ndal real :
Multiple markers at this line
- paroolike cannot be resolved to a
variable
- Line breakpoint:next [line: 6] -
main(String[])

html:
  1. import javax.swing.JOptionPane;
  2. public class next {
  3.         public static void main(String[] args){
  4.         String parool;
  5.                 parool = JOptionPane.showInputDialog("Sisesta parool");
  6.                 if (parool = paroolike) {
  7.                                 System.out.println("Õige");
  8.         }
  9.                 else {
  10.                                 System.out.println("Vale");
  11.                                
  12.                 }
  13.         }
  14. }
Kommentaarid: 7 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 7
tagasi üles
vaata kasutaja infot saada privaatsõnum
andrusny
Kreisi kasutaja
andrusny

liitunud: 20.03.2006




sõnum 09.03.2013 22:41:33 vasta tsitaadiga

Pole kül Javaga tegelenud, kuid kas mitte ei peaks olema

if (parool == paroolike) {


ja kuna ma ei näe sul muutujat paroolike siis ehk mõtled, et see peaks olema string sell juhul

if (parool == "paroolike") {

_________________
Kommentaarid: 7 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 7
tagasi üles
vaata kasutaja infot saada privaatsõnum mine selle kasutaja kodulehele
Jaffe
HV vaatleja

liitunud: 15.11.2004




sõnum 09.03.2013 22:44:10 vasta tsitaadiga

See if peaks olema selline:

if (parool == "paroolike") {


Muidu hakatakse otsima muutujat paroolike, mida ei eksisteeri.

Edit: jõuti ette juba icon_razz.gif
Kommentaarid: 1 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 1
tagasi üles
vaata kasutaja infot saada privaatsõnum
smily
HV kasutaja

liitunud: 20.12.2010




sõnum 09.03.2013 22:57:31 vasta tsitaadiga

Tänud töötab icon_razz.gif
Kommentaarid: 7 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 7
tagasi üles
vaata kasutaja infot saada privaatsõnum
Deadlock
Kreisi kasutaja

liitunud: 16.07.2004




sõnum 10.03.2013 00:35:49 vasta tsitaadiga

Ikkagi vale. == kontrollib ainult Objecti reference kattuvust. võib juhtuda, et parool == "paroolike" tagastab false, isegi kui parool on ka "paroolike".
Õige oleks kasutada parool.equals("paroolike") või "paroolike".equals(parool)
Viimane on parem, sest kui parool peaks mingil põhjusel null väärtusega olema, siis ei teki NullPointerExceptionit.

_________________
"Believe you can, believe you can't; either way, you're right." - Henry Ford
Kommentaarid: 8 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 8
tagasi üles
vaata kasutaja infot saada privaatsõnum
mikk36
HV Guru
mikk36

liitunud: 21.02.2004




sõnum 10.03.2013 06:59:02 vasta tsitaadiga

Ja ei tohiks ka siis ära unustada, et ise kirjutatud klasside puhul võrdub vaikimisi .equals(...) operaatoriga ==.
Kommentaarid: 85 loe/lisa Kasutajad arvavad:  :: 0 :: 2 :: 78
tagasi üles
vaata kasutaja infot saada privaatsõnum
näita postitusi alates eelmisest:   
uus teema   vasta Tarkvara »  Programmeerimine »  javaga alustamine
[vaata eelmist teemat] [vaata järgmist teemat]
 lisa lemmikuks
näita foorumit:  
 ignoreeri teemat 
sa ei või postitada uusi teemasid siia foorumisse
sa ei või vastata selle foorumi teemadele
sa ei või muuta oma postitusi selles foorumis
sa ei või kustutada oma postitusi selles foorumis
sa ei või vastata küsitlustele selles foorumis
sa ei saa lisada manuseid selles foorumis
sa võid manuseid alla laadida selles foorumis



Hinnavaatlus ei vastuta foorumis tehtud postituste eest.