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
http://imageshack.us/photo/my-images/171/test1rl.jpg/
http://imageshack.us/photo/my-images/694/test2e.jpg/
potřeboval bych poradit.. něco mám, prosím o kontrolu a o zbylé otázky... Děkuji moc všem za pomoc!!! ;)
1) -----
2) private int delka = 27,4f;
3)public void setNazev(String nazevKnihy)
{
this.nazevKnihy=nazevKnihy;
}
4) public void getAuto()
{
return auto;
}
5)public film(String jmeno, Osoba reziser){
}
6)---
7)---
8)---
9) null
10)private ArrayList<Zvire> zvirata
11)---
Offline
mohl by jste mi prosím někdo poradit? :(
Offline
1) pouzij fakt, ze logicke operatory maji mensi prioritu nez aritmeticke; deleni dvou intu dava int, pricemz desetinna cast se orezava
2)private FLOAT!!! delka=24,7f;
3)ok
4)metoda nemuze byt "public void neco()", misto void dosad spravny navratovy typ
5)ok
6)neni na fotkach
7) pouzij na promennou Math.abs() a pak vyuzij ze cislo je sude, pokud zbytek po deleni dvema je 0.
8) realne pole bude mit typ float resp. double. takze klasicky float[] poplatky=new ...(atd.)
9) je to jen zalozeni "promenne na referenci" na tridu Adresa, jenze zadna reference tam neni prirazena, tedy obsahuje defaultni hodnotu, ktera je ... (dopln si sam, to fakt neni tezke).
10) ArrayList<Zvire> zvirata = new ...(atd.)
11) uvedom si, ze ++a znamena nejdriv inkrementaci a pak praci s hodnotou a, zatimco a++ nejdriv pracuje s a, a pak teprv zveda jeho hodnotu. tzn. kdyz a=0; tak print(++a) vypise 1, zatimco a=0; print(a++) vypise 0 a pak teprve zvedne hodnotu a. zavorky samozrejme maji nejvyssi prioritu zpracovani, takze tam to bude chtit trosku rozmyslet.
ale tohle jsou fakt uplny zaklady bez kterejch si neskrtnes...
Offline
Vím že to jsou základy ale člověk co tohle na střední nikdy neviděl ( ani nic podobného) a na vysokej do toho spadne v tom trochu plave... :( díky tak zkusím
1) netuším opravdu :/
2) díky, jsem se jen přepsal ;)
3) ok
4)
public string getAuto()
{
return auto;
}
5)ok
6) ---
7) ztrácíím se
8) float[] poplatky = new float[31];
9) takže tam prostě nebude nic, takže 0?
10) já nevím ale deklarace instanční proměné je takto ne? private ArrayList<Zvire> zvirata kdyby to byla Deklarace a inicializace proměnné tak pak by to bylo jak píšeš ty, ne? Nechci se hádat ale zrovna u tohoto jsem si byl jist ;)
11) díky takže c=6 a d=14?
díky moc ;)
Offline
7)
if (velikost % 2 == 0)
{
velikost = Math.abs(novaVelikost);
}
else {
velikost = velikost--;
}
???
Offline
Zdravím, to asi nebude to pravé. Proč, zkusím naznačit pseudokódem:
Pokud je velikost sudá:
Přiřaď absolutní hodnotu nové velikosti
Pokud je to jinak
Sniž velikost o 1
Nejsem si úplně jistý, jestli to vystihuje zadání úkolu "nastaví hodnotu instanční proměnné, a zkontroluje sudost", protože se buď nastaví proměnná, nebo to číslo nastaví na sudé. Já osobně bych nejdříve nepodmíněně přiřadil novou velikost (tak jak to máte, s tím Math.abs()) a potom bych zkontroloval tu sudost.
Offline
a nebude 2) jen delka = 24,7f; ? bez toho private float? ... dyt to je jen přiřazení ne? ;)
Offline
To je otázka. Záleží jestli je už zadefinována. Pokud ano, samozřejmě máte pravdu, pokud ne, bude tam to private float. Jelikož to zadání neurčuje, asi bych to k tomu připsal jako komentář :-)
Offline
1)
tak pokud int x=19 a int y=13
tak potom
y<10 || x/y != 1
se bude vyhodnocovat jako
(y<10) || ((x/y) != 1)
protoze nejvetsi prioritu ma operator /. Pak se provedou nejaka ta porovnani <, != a nakonec logicke nebo ||
priority viz treba tady:
http://bmanolov.free.fr/javaoperators.php
takze nejdriv zjistis x/y coz je 19/13 = 1 (to proto, ze int jsou cela cisla a pokud je neco za desetinnou carkou, bude to ve vysledku - resp. konverzi do intu - oriznuto)
takze podminka 1!=1 se vyhodnoti na false. podminka y<10 coz je 13<10 je taky false.
nakonec vyhodnocujes (false || false) a to ti da false. navratovy typ toho celeho je samozrejme boolean - protoze posledni operace, kterou delas, je operace logicka.
tzn odpoved je: Vrati to boolean s hodnotou false.
2)
Jak psal Kebulak, zalezi tam na kontextu. Pri prirazeni staci psat
delka = 24,7f
pokud by bylo nutno promennou i zalozit, tak pak float delka=24,7f.
4)
Navratovy typ ma byt "Vozidlo". Kdyz deklarujes metodu, jeji navratovy typ urcuje nazev toho typu,
ktery je napsany pred nazvem metody. Tedy:
public Vozidlo getAuto(){ return auto; }
ti rika, ze metoda je verejna a vraci ti neco, co je typu Vozidlo.
7)
V zadani mas presne napsano, co udelat:
a) priradit absolutni hodnotu "novaVelikost" do "velikost" pomoci Math.abs().
velikost=(int) Math.abs(novaVelikost);
tim jsme ziskali absolutni hodnotu - tady jsem pouzil pretypovani na int, abych se zbavil pripadnych
desetinnych mist.
b)zkontrolujeme, jestli je hodnota suda (pomodulime dvema a pokud dostamene nulu, tak to sude je)
pokud velikost neni suda, tak ji zmensime o jedna (to ji urcite nastavi na nejblizsi nizsi sude cislo)
(modulo=zbytek po deleni)
if((velikost%2)==0) {}
else velikost={velikost-1;}
coz lze prepsat na
if((velikost%2)!=0) velikost--;
a to je vse.
Cele telo metody pak vypada takto:
velikost=(int) Math.abs(novaVelikost);
if((velikost%2)!=0) velikost--;
8)ano
9)
Ono to nebude 0. 0 je hodnota, na kterou se inicializuji primitivni typy. Tady mame ale referenci na objekt, ktera vede "nikam", protoze nedoslo k prirazeni reference na nejaky objekt. Spravna hodnota je tedy "nevim", tedy null.
10)
ArrayList<Zvire> zvirata = new ArrayList<Zvire>();
delame referenci "zvirata" na seznam objektu typu Zvire.
Nalevo od rovna se je vytvoreni reference podobne jako v prikladu 9. A rovnou do ni priradime referenci na novou instanci takoveho seznamu.
11)ano
Offline