Ovoce
(soubor
Ovoce.java), která bude mít atribut (nestatický)
pocetKg
nastaven na počáteční hodnotu 10 kg. Třída bude mít všechny náležitosti
(konstruktor, getr, setr, metodu toString()
). Funkčnost třídy Ovoce
vyzkoušejte v uživatelské třídě Aplikace.java),
ve které nejprve vytvořte druh ovoce jablka
a pokuste se nastavit záporný počet kg.
Pak nastavte počet kg na 100 a použitím metody toString() vypište. Následně vytvořte
druh ovoce hrusky
a nastavte počet na 250 kg a opět vypište. Nakonec vypište součet (v kg)
obou druhů ovoce dohromady. ;-)
Vstup: hodnoty instancí třídy Ovoce
Výstup: info o stavu a součet hodnot instancí třídy Ovoce
Osoba
(soubor
Osoba.java), která bude mít atributy (nestatické)
jmeno
, vaha
a vyska
. Třída bude mít všechny náležitosti (konstruktor, getry, setry,
toString()
) a navíc bude mít metodu int
vypoctiBMI()
, která spočítá hodnotu BMI pro
danou osobu (podrobnosti viz Záznamy přednášek). Funkčnost třídy Osoba
vyzkoušejte v testovací třídě TestOsoby
(uvedené v souboru
TestOsoby.java). Použijte přesměrování vstupu
pro získání vhodných hodnot instancí třídy Osoba
ze souboru
osoby-test.txt (tj. java TestOsoby < osoby-test.txt
) .
Vstup: hodnoty instancí třídy Osoba (např. ze souboru)
Výstup: existující osoby
Osoba
. Připravte pole n
osob, které naplníte hodnotami ze souboru osoby-data.txt
(n je první číslo v souboru). Pro načítání použijte opět
příkaz pro přesměrování vstupu. Seřaďte jednotlivé osoby podle jejich BMI vzestupně
metodou SelectSort a tento seznam vypište.
Vstup: pole s n osobami
Výstup: seřazené pole osob podle jejich BMI
OsobaVek
přidáním atributu vek
do třídy Osoba
. Dopište příslušné getry a
setry a upravte odpovídajícím způsobem metodu toString()
. Dále modifikujte
předchozí program tak, že vypíše informace o nejmladší osobě. Pro nalezení odpovídající
osoby vytvořte metodu OsobaVek minVek(OsobaVek[] pole)
a výpis informací
proveďte s využitím metody toString()
. Existuje-li ve vstupním souboru
více osob s nejnižším věkem, program vypíše jen informace o první z nich.OsobaVek
proto uložte bez specifikátoru public
do souboru
s programem (v tomto souboru tedy budou dvě třídy) a tento výsledný soubor odesílejte
na validátor.osoby-data-dcv.txt
nečtěte programově (pomocí třídy File
),
protože tato problematika ještě nebyla odpřednášena. sc = new Scanner(System.in);
a čtení ze souboru osoby-data-dcv.txt
zajistěte pomocí přesměrování vstupu na příkazové řádce, např.:
java Ppa1_cv08_1_A06999 < osoby-data-dcv.txt
Vstup: pole s osobami ze souboru
osoby-data-dcv.txt
Výstup: informace o nejmladší osobě
Spustitelná verze: Ppa1_cv08_1_A06999.class (současně si stáhněte i soubor OsobaVek.class) a její výstup.
Student
(soubor Student.java
), která bude
mít privátní atributy osobniCislo
a prumerZnamek
. Napište
konstruktor, potřebné getry, setry a metodu toString()
. Dále napište metodu
String vratLepsiPrumer(Student s)
, která ze dvou studentů vybere
studenta s lepším průměrem známek a prostřednictvím metody toString()
zajistí výpis jeho osobního čísla a průměru známek. Funkčnost třídy ověřte
v aplikační třídě, ve které nejprve načtete pomocí statické metody
Student nactiStudenta(Scanner sc)
informace o dvou studentech,
v pořadí osobní číslo a průměr známek, které budou pro každého studenta zadány na
jednom řádku a navzájem odděleny mezerou. Následně vypište informaci o obou
studentech (metodou toString()
) v pořadí, ve kterém byli studenti zadáni a informaci
o studentu s lepším průměrem známek využitím již vytvořené metody datové třídy.Student
proto uložte bez specifikátoru public
do souboru
s programem (v tomto souboru tedy budou dvě třídy) a tento výsledný soubor odesílejte
na validátor.
Vstup: osobní čísla a průměry známek dvou studentů
Výstup: informace o obou studentech, student s lepším průměrem
Spustitelná verze: Ppa1_cv08_2_A06999.class (současně si stáhněte i soubor Student.class) a její výstup.