Kezdőoldal » Számítástechnika » Programozás » Java feladatban szeretnék...

Java feladatban szeretnék segítséget?!

Figyelt kérdés

Eddigi meglévő programom.

------------------------------------------------------

import javax.swing.JOptionPane;


public class FelhaszJelszEllen {


public static void main(String[] args) {


String felhasznalonev = JOptionPane.showInputDialog("Felhasznalonev:");


String jelszo = JOptionPane.showInputDialog("Jelszo");


int eletkor = Integer.parseInt(JOptionPane.showInputDialog("Eletkor"));


if (

felhasznalonev != null && jelszo != null &&

(

(((felhasznalonev.equals("fuli") || felhasznalonev.equals("FULI")) && jelszo.equals("kardhal") && eletkor >= 18)

||

((felhasznalonev.equals("laci") || felhasznalonev.equals("LACI")) && jelszo.equals("pajzs") && eletkor >= 18))

)

)

{

JOptionPane.showMessageDialog(null, "Bent vagy.");

} else {

JOptionPane.showMessageDialog(null, "Gyanus vagy.");

}

}


}

-----------------------------------------------------

1. Szeretném az int eletkor deklarálásomat is nem egyenlővé tenni a semmivel az if után, de hibát jelez, ha ezt megpróbálnám beírni a && után ,,eletkor =! null &&" (Lefut enélkül is, de amint az utolsó felugró ablakban az életkorhoz nem írok semmit, akkor hibát ír ki, ezt szeretném kiküszöbölni)


2.Úgy kéne módosítanom a kódot, hogyha a mégse gombra kattintanék bármelyiknél, akkor a program egy ,,Nincs eleg informacio!" üzenettel reagáljon. (Ebbe is belekezdtem ,de nem tetszett neki, hogy felhasznalonev.equals(null)..)


Köszönöm a segítségeteket előre is!


E.


2017. nov. 13. 09:51
 1/9 anonim ***** válasza:

Az int primitív típus, nem állítható null-ra.


Beállíthatod mondjuk kezdetben -1-re:

int eletkor = -1

eletkor = Integer.parseInt(JOptionPane.showInputDialog("Eletkor"));

És a feltételben vizsgálod, hogy nagyobb-e, mint -1.


Vagy Integer eletkor -t használsz, az Integer felvehet null-t.

De ha teheted int-et használj.



"nem tetszett neki, hogy felhasznalonev.equals(null)"


Nem, mert az equals két stringet hasonlít össze.

nullal így tudod összevetni:

"felhasznalonev != null"

2017. nov. 13. 10:29
Hasznos számodra ez a válasz?
 2/9 anonim ***** válasza:
Nem vagyok Java fejlesztő, de az Integer.parseInt(string) hogy nem dob kivételt null-ra?
2017. nov. 13. 11:29
Hasznos számodra ez a válasz?
 3/9 anonim ***** válasza:

" az Integer.parseInt(string) hogy nem dob kivételt null"


Hibát dob.


Ez viszont már le se fordul:

"eletkor =! null"

2017. nov. 13. 11:43
Hasznos számodra ez a válasz?
 4/9 Progresszor ***** válasza:

Huh, nem magyarázom, de valahogy így:


package com.gyk;


import javax.swing.JOptionPane;


public class FelhaszJelszEllen {


public static void main(String[] args) {


String felhasznalonev = JOptionPane.showInputDialog("Felhasznalonev:");


String jelszo = JOptionPane.showInputDialog("Jelszo");


int eletkor = -1;

try {

eletkor = Integer.parseInt(JOptionPane.showInputDialog("Eletkor"));

} catch (NumberFormatException nfe) {

// TODO: handle exception

}


if( felhasznalonev != null && jelszo != null && eletkor>=18 && (

felhasznalonev.equalsIgnoreCase("fuli") && jelszo.equals("kardhal")

|| felhasznalonev.equalsIgnoreCase("laci") && jelszo.equals("pajzs")

)) {

JOptionPane.showMessageDialog(null, "Bent vagy.");

} else {

JOptionPane.showMessageDialog(null, "Gyanus vagy.");

}

}


}

2017. nov. 13. 18:28
Hasznos számodra ez a válasz?
 5/9 Progresszor ***** válasza:

Opsz a kérdésed második pontját is figyelembe véve:


import javax.swing.JOptionPane;


public class FelhaszJelszEllen {


public static void main(String[] args) {


String felhasznalonev = JOptionPane.showInputDialog("Felhasznalonev:");

String jelszo = JOptionPane.showInputDialog("Jelszo");

String kor =JOptionPane.showInputDialog("Eletkor");

if( felhasznalonev == null || jelszo == null || kor==null) {

JOptionPane.showMessageDialog(null, "Nincs eleg informacio!");

return;

}


int eletkor = -1;

try {

eletkor = Integer.parseInt(kor);

} catch (NumberFormatException nfe) {

JOptionPane.showMessageDialog(null, "Hibas az eletkor! (Nem szam.)");

return;

}


if( eletkor>=18 && (

felhasznalonev.equalsIgnoreCase("fuli") && jelszo.equals("kardhal")

|| felhasznalonev.equalsIgnoreCase("laci") && jelszo.equals("pajzs")

)) {

JOptionPane.showMessageDialog(null, "Bent vagy.");

} else {

JOptionPane.showMessageDialog(null, "Gyanus vagy.");

}

}


}

2017. nov. 13. 18:36
Hasznos számodra ez a válasz?
 6/9 A kérdező kommentje:

1. try

2. catch (NumberFormatException nfe)

3. return;

4. equalsIgnoreCase


Ez a 4 pont, miként működik a javaban? Értem, mint tükörordítást, de a javaban, hogy működnek?


Köszönöm a segítségeteket, nagyok vagytok!

2017. nov. 14. 08:33
 7/9 anonim ***** válasza:

A programozás lényege, hogy sokat használd a google-t :)


1. try

2. catch (NumberFormatException nfe)


Itt egy hülye példa:


boolean isHiba = false;

int eletkor = -1;

try {

eletkor = Integer.parseInt(JOptionPane.showInputDialog("Eletkor"));

} catch (NumberFormatException nfe) {

isHiba = true;

}



A try belsejében van a főág, bekéri az életkort.

Ha hiba lép fel, a beadott string nem konvertálható számmá, akkor kivétel dobódik.

A kivételt elkapja a catch blokk, és beállítja, amit kell, pl újra feldobhatod az ablakot addig míg jó értéket nem adnak be.


Ha nincs catch blokk, ami elkapja a kivételt, akkor a program futása véget ér.



3. return;


A függvény visszatér.

Ha a függvény void, akkor return;-el véget vethetsz a futásának.

Ha a függvény nem void, akkor értéket is kell visszaadni: return valami;



4. equalsIgnoreCase


Amit a neve mond, összevet két stringet nagybetű függetlenül


Ez false:

"cica".equals("Cica")


Ez true:

"cica".equalsIgnoreCase ("Cica")

2017. nov. 14. 10:21
Hasznos számodra ez a válasz?
 8/9 A kérdező kommentje:

Lenne egy másik feladathoz kérdésem.

Itt feltehetem, nézi még valaki?!


Köszönöm!

2017. nov. 16. 14:01
 9/9 anonim ***** válasza:
Nem.
2017. nov. 16. 14:38
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!