Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Konverzija tipova i kontrola greske

[es] :: Java :: Konverzija tipova i kontrola greske

[ Pregleda: 2024 | Odgovora: 4 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

maxmagnus2
none
VA

Član broj: 3893
Poruke: 194
89.216.238.*



Profil

icon Konverzija tipova i kontrola greske26.06.2007. u 09:16 - pre 204 meseci
Poz,
hocu da iz TextFielda-a uzmem podatak i proverim da li je
on int (Integer) i prosledim ga ako jeste.
Ovo iz nekih razloga ne radi jer prijavi gresku da se ne stize do tog dela.

kod:
public boolean Proveri_Ocenu(JTextField TF1){
int pomocni_int;
try{
pomocni_int=Integer.parseInt(TF1.getSelectedText());
}
catch(NumberFormatException e){
System.out.println(JTF1.getText()); // ovo vraca null
System.out.println("ne moze da se prihvati ocena");
}
return true;
}//Proveri_Ocenu

2.Koja je razlika izmedju int i Integer? Kako se to odrazava na konverziju?
Unapred hvala
MM
The sleeper has awaken
 
Odgovor na temu

Toxter
NS

Član broj: 39393
Poruke: 317
80.74.164.*



+6 Profil

icon Re: Konverzija tipova i kontrola greske26.06.2007. u 09:43 - pre 204 meseci
Umesto: TF1.getSelectedText()
koristi: TF1.getText()

Nemas nista selektovano pa ti zato vraca null.

Sad mu nije nista, ubio si ga k'o zeca...
 
Odgovor na temu

Java Beograd
Novi Beograd

Član broj: 11890
Poruke: 9506
*.dip0.t-ipconnect.de.



+10254 Profil

icon Re: Konverzija tipova i kontrola greske26.06.2007. u 10:34 - pre 204 meseci
int je primitiva
Integer je klasa, tj. objekat u toku izršavanja.

Uzgred, lepše bi bilo da si napisao funkciju:

Code:
public boolean proveriOcenu(String s)


a ne

Code:
public boolean Proveri_Ocenu(JTextField TF1)


Ovo je neka vrsta utility funkcija, pa swing komponeneta koja se dobija kao parametar nekako ne spada u to društvo.

<AKADEMSKA RASPRAVA>
Više puta sam već pisao da se
Code:
try {}
catch{} 
finaly{}
struktura ne treba koristiti za kontrolu toka programa. Tj. treba se koristiti za hvatanje izuzetaka u pravom smislu reči. Ipak, ovde je to nemoguće. Stoga, mislim da je funkcija: public static boolean isInteger(String s) nad Integer klasom neophodna ako se želi održati duh Java programa.
</AKADEMSKA RASPRAVA>

OTPOR blokadi ulica, OTPOR blokiranom Beogradu, OTPOR blokiranoj Srbiji
 
Odgovor na temu

maxmagnus2
none
VA

Član broj: 3893
Poruke: 194
89.216.238.*



Profil

icon Re: Konverzija tipova i kontrola greske26.06.2007. u 20:22 - pre 204 meseci
Hmmm,
nije mi najjasnije...
Daj mi primer kako bi izgledala cela isInteger f-ja
Mislim, nije mi jasna sustinska razlika izmedju dve varijante.
(naravno cilj mi je da sto cistije pisem zato to i pitam)

*************************************************************
Da... getSelected je nekako zaostao iako sam ga provalio i izmenio ... cudno...
The sleeper has awaken
 
Odgovor na temu

Java Beograd
Novi Beograd

Član broj: 11890
Poruke: 9506
*.dip0.t-ipconnect.de.



+10254 Profil

icon Re: Konverzija tipova i kontrola greske27.06.2007. u 13:55 - pre 204 meseci
Pa kao što rekoh, try - catch je prilično "skupa" operacija. Posebno izbacivanje samog excption-a. U primeru koji je naveden, ta struktura je iskorišćena kao da se radi of if - then struturi.

Ili evo malo slikovitije.


Good

Code:

double a;
double b;
double result;
...

if (b!=0) {
    result = a/b; 
} else {
    System.out.println("b is zero");
}


Bad
Code:


double a;
double b;
double result;
...

try {
    result = a/b; 
} catch (Exception e) {
    System.out.println("b is zero");
}



Praktično, za laika i laičke aplikacije konačni ishod je isti - korisnik će dobiti poruku ako je b=0, ili će se izvršiti deljenje ako b!=0. Ali kao što rekoh ovo je upravo primer gde je korisnik primoran da koristi try - catch za kontrolu toka programa.
OTPOR blokadi ulica, OTPOR blokiranom Beogradu, OTPOR blokiranoj Srbiji
 
Odgovor na temu

[es] :: Java :: Konverzija tipova i kontrola greske

[ Pregleda: 2024 | Odgovora: 4 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.