Matematické Fórum

Nevíte-li si rady s jakýmkoliv matematickým problémem, toto místo je pro vás jako dělané.

Nástěnka
22. 8. 2021 (L) Přecházíme zpět na doménu forum.matweb.cz!
04.11.2016 (Jel.) Čtete, prosím, před vložení dotazu, děkuji!
23.10.2013 (Jel.) Zkuste před zadáním dotazu použít některý z online-nástrojů, konzultovat použití můžete v sekci CAS.

Nejste přihlášen(a). Přihlásit

#1 28. 10. 2014 14:15

aferon
Příspěvky: 398
Reputace:   
 

java - vyhodnoceni podminky

Zdravím.Tento kod ma ověřit zda zadané číslo je kladné nebo záporné. Chtěl bych se zeptat, proč podmínka v hlavní metodě main se vždycky vyhodnotí true i když zadám záporné číslo. Dále bych se chtěl zeptat, proč v metodě zjisti() mi hlásí chybu "missing return statement, když mi tam návratová hodnota nechybí a chce ji tam napsat dvakrát. Děkuji.

//forum.matweb.cz/upload3/img/2014-10/02142_Schr%25C3%25A1nka02.jpg

Offline

 

#2 28. 10. 2014 20:48

Xellos
Příspěvky: 524
Škola: MFF CUNI, Bc. (13-16)
Reputace:   36 
 

Re: java - vyhodnoceni podminky

Ehm, pozri sa na metodu zjisteni() zasa. Vracia to iste pre kladne aj nekladne cisla.

Offline

 

#3 29. 10. 2014 07:11

aferon
Příspěvky: 398
Reputace:   
 

Re: java - vyhodnoceni podminky

A jakto ze to vraci kladny i zaporny cisla, kdyz je tam vetsi nez nula?

Offline

 

#4 30. 10. 2014 00:09

Olaf11
Zelenáč
Příspěvky: 12
Reputace:   
 

Re: java - vyhodnoceni podminky

↑ aferon:

Ahoj,
jen se zeptam nakonci v zjisteni(cislo) mas while(cislo>0) return true; return true.
Nemelo by to vracet v jedno pripade (kdy cislo<0, respk. kdy cislo neni vetsi nez nula) false?

Offline

 

#5 10. 11. 2014 08:43

Neth
Příspěvky: 57
Reputace:   
 

Re: java - vyhodnoceni podminky

Přesně tak, jako to druhé dej return false.

To je tedy odpovědí na tvou první otázku: Tvá metoda ti vrací true pro jakékoliv zadané číslo, proto se prvním podmínka v mainu vyhodnotí jako true.

K druhému dotazu: pokud máš v metodě ještě další bloky a v nich klidně return statementy, tak překladač vyžaduje ještě jeden return na konec - hezky to je vidět zrovna u tvé metody: první podmínka se týká pouze čísel větších než nula. Jak se pak ale navrátí rozhodnutí o těch, kteří se nedostanou do této podmínky? Return statementy musí obsáhnout všechny možnosti. Jinak to je např. s if-else, tam ti to obsáhne všechno, proto stačí return v jednotlivých blocích a nemusí být žádný na konci.

A ještě dotaz: proč v metodě používáš while a ne obyčejný if?

Offline

 

#6 12. 11. 2014 00:08 — Editoval RePRO (12. 11. 2014 00:10)

RePRO
Místo: Jihlava
Příspěvky: 363
Škola: AI VŠPJ (09-12, Bc.)
Pozice: programátor
Reputace:   11 
Web
 

Re: java - vyhodnoceni podminky

Zdravím,

budu mít několik dotazů a rad. ;-) Metoda načti nemusí mít parametr, rovnou ten objekt pro načtení čísla vytvoř v té metodě a nemusíš ani staticky, takže:

Code:

Scanner sc = new Scanner(System.in);

Proč je všechno statické? V metodě/funkci, která vrací bool musíme vrátit true, nebo false. Je tomu tak?

Příkaz

Code:

while (cislo > 0) { 
   return true; 
}

se nám určitě zacyklí, proč tomu tak bude? A vůbec tady postrádám logiku samotné třídy, ale budiž.

Hodně štěstí.


Srdcem trochu-programátor, duší rádoby-matematik a povoláním analytik-vývojář.

Offline

 

#7 12. 11. 2014 01:53

Xellos
Příspěvky: 524
Škola: MFF CUNI, Bc. (13-16)
Reputace:   36 
 

Re: java - vyhodnoceni podminky

↑ RePRO:

Fakt si myslis ze ak sa po prvom vykonani cyklu vyjde z funkcie, tak sa zacykli (bude volat zasa)?

↑ aferon:

Poriadne citaj. "Vracia to iste pre kladne aj nekladne cisla", nie "vracia kladne aj zaporne cisla".

Ono programovanie nefunguje tak ze napisem daco a ono to magicky bude robit co chcem. Treba chapat co robi to co je tam napisane, nie to co si predstavujem.

Offline

 

#8 15. 11. 2014 17:22

PanTau
Příspěvky: 819
Škola: Plzeň :-)
Pozice: Student zoufalej z matiky
Reputace:   
 

Re: java - vyhodnoceni podminky

public static boolean zjisteni(int cislo){
   return cislo > 0;
}

to by přeci stačilo?


Má kouzelná buřinka asi nefunguje.... Jinak bych tu nebyl...
Reputace slušností...

Předem všem děkuji za Vaše rady..

Offline

 

Zápatí

Powered by PunBB
© Copyright 2002–2005 Rickard Andersson