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

problemi sa while petljom

[es] :: Java :: problemi sa while petljom

[ Pregleda: 1193 | Odgovora: 1 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

tkojemile
Osijek

Član broj: 158805
Poruke: 14
*.siemens.at.



Profil

icon problemi sa while petljom25.10.2009. u 18:47 - pre 176 meseci

Hi,

imam ovakvu situaciju:

dignem JOptionPane i na njemu dva polja - combo i text.

u petlju postavim da se vrti sve dok tekst u combou ima "*" i dok je text field prazan:


while (fldAdditInfo.getText().equals("") && cmbSelReasonCode.getSelectedItem().contains("*")){
}


Greške su mi slijedeće:

1) kad ga ne pretvaram u string za provjeru:

symbol : method contains (java.lang.String)
location: class java.lang.Object
while (fldAdditInfo.getText().equals("") && cmbSelReasonCode.getSelectedItem().contains("*")){
^

2) kad ga stavim u toString:

symbol : method contains (java.lang.String)
location: class java.lang.String
while (cmbSelReasonCode.getSelectedItem().toString().contains("*")){

3) kad ga castam u String

symbol : method contains (java.lang.String)
location: class java.lang.Object
while (fldAdditInfo.getText().equals("") && (String)cmbSelReasonCode.getSelectedItem().contains("*")){
^
Klasa.java:495: operator && cannot be applied to boolean,java.lang.String
while (fldAdditInfo.getText().equals("") && (String)cmbSelReasonCode.getSelectedItem().contains("*")){


Provjera za samo prazan text field prolazi bez problema...

....

Ako moze mala pomoc.
Negdje je problem u logici - jer operator && moze biti za bool,string... ili sta sada već :(

Hvala unaprijed!
 
Odgovor na temu

Huemaj

Član broj: 115981
Poruke: 25
*.public.t-mobile.at.



+5 Profil

icon Re: problemi sa while petljom01.11.2009. u 19:43 - pre 176 meseci
Pozdrav,

Metoda JComboBox.getSelectedItem() vraca Object, taj Object moras castovati u String da bi mogao da primjenis contains(..) metodu. To si uradio pod tackom 3 ali sa malom greskom, citav izraz desno od && si pretvorio u String a ne samo rezultat od getSelectedItem() kao sto si, pretpostavljam, htio. Znaci uradio si ovo:


Code:
while (fldAdditInfo.getText().equals("") && (String)cmbSelReasonCode.getSelectedItem().contains("*"))


umjesto ovoga:

Code:
while (fldAdditInfo.getText().equals("") && ((String)cmbSelReasonCode.getSelectedItem()).contains("*"))


mada ti ja savjetujem da uradis ovo:

Code:
while (fldAdditInfo.getText().equals("") && cmbSelReasonCode.getSelectedItem().toString().contains("*"))


Znaci trik je samo u postavljanju zagrada na odgovarajuce mjesto kojim signaliziras kompajleru u kojem redoslijedu zelis da se izrazi evaluiraju.

Sa zadnjim blokom koji sam ti napisao trebalo bi da radi bez problema ako ga ubacis tako kako sam ga napisao.


Koliko sam shvatio zelis da ti se program vrti u petlji dok god korisnik nesto ne edituje, to nije uobicajena praksa, osim toga ako si i to uspio da uradis onda znaci da dobro baratas threading-om jer ti treba jos jedan thread za takvo nesto, a ko zna threading mora biti u stanju da rijesi problem sa while optimalnije :). Javi ako ti mozemo pomoci jos nekako. I sretno!

Veliki pozdrav!
 
Odgovor na temu

[es] :: Java :: problemi sa while petljom

[ Pregleda: 1193 | Odgovora: 1 ] > FB > Twit

Postavi temu Odgovori

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