Priprava na 2. kolokvij
Navodilo
Preden oddaš domačo nalogo, moraš obvezno preizkusiti, ali
pravilno deluje.
Naloge
V datoteki so shranjeni rezultati izpita:
- prva vrstica je naslov izpita,
- druga vrstica vsebuje datum, ko so študenti pisali izpit,
- preostale vrstice vsebujejo rezultate, vsaka vrstica vsebuje rezultate o enem študentu. Polja so ločena s presledki in so:
- prvo polje je vpisna številka,
- drugo polje pa vsebuje število doseženih točk.
rezultati.txt |
---|
Izpit iz računalnistva (PRA) 15.6.2005 18000395 50 27004396 50 27004695 30 27004703 70 27004712 80 |
Naloga 1
Napiši program
RazdeliRezultate
, ki z ukazne
vrstice sprejme imena vhodne in dveh izhodnih datotek.
Vhodna datoteka vsebuje rezultate izpita, v prvo izhodno
datoteko zapišemo rezultate študentov, katerih vpisna
številka se začne s števko 2, v drugo datoteko pa rezultate
preostalih študentov. Namig: za odločitev v katero datoteko
bomo prebrano vrstico zapisali torej zadošča, da preverimo
prvi znak!
Če program poženemo na vhodni datoteki
se naredita naslednji izhodni datoteki
rezultati.txt
,
> java RazdeliRezultate rezultati.txt rezultati_mat.txt rezultati_drugi.txt |
rezultati_mat.txt | |
---|---|
1 2 3 4 5 6 7 | Izpit iz računalnistva (PRA) 15.6.2005 27004396 50 27004695 30 27004703 70 27004712 80 |
rezultati_drugi.txt | |
---|---|
1 2 3 4 5 | rezultati_drugi.txt Izpit iz računalnistva (PRA) 15.6.2005 18000395 50 |
Naloga 2
Napiši program
IzpisiPozitivne
, ki z ukazne vrstice sprejme
imeni vhodne in izhodne datoteke ter celo število.
Vhodna datoteka vsebuje rezultate izpita, v izhodno datoteko pa zapišemo
rezultate študentov, ki so izpit opravili.
Število točk, potrebnih za pozitivno oceno, je tretji podatek v ukazni vrstici.
Na koncu eno vrstico izpustimo, v zadnjo vrstico pa zapišemo:
"Ostali kandidati izpita niso opravili."
Če program poženemo na vhodni datoteki
se naredi izhodna datoteka
rezultati.txt
,
> java RazdeliRezultate rezultati.txt pozitivni.txt 50 |
pozitivni.txt |
---|
Izpit iz računalnistva (PRA) 15.6.2005 18000395 50 27004396 50 27004703 70 27004712 80 Ostali kandidati izpita niso opravili. |
Naloga 3
Sestavi statično metodo
public static void
obrni_datoteko(String ime1, String ime2)
, ki sprejme
imeni vhodne in izhodne datoteke in podatke iz vhodne
datoteke zapiše v izhodno datoteko v obratnem vrstnem redu.
Rešitvi dodaj tudi glavno metodo
main
, v kateri
preizkusiš delovanje metode obrni_datoteko
.
Namig
Podatke iz vhodne datoteke preberemo v vektor in jih nato
zapišemo v izhodno datoteko
Naloga 4
Sestavi razred
Cas
, s katerim predstavimo čas
izražen v minutah in sekundah. Razredu dodaj ustrezni
konstruktor in metodo toString()
.Naloga 5
Sestavi razred
Pesem
, s katerim predstavimo pesem
na zgoščenki. Podatki o pesmi so: naslov, ime izvajalca in
dolžina pesmi (ki naj bo tipa Cas
). Razredu dodaj
ustrezni konstruktor in metodo toString()
.Naloga 6
Sestavi razred
Zgoscenka
, s katerim predstavimo
vsebino zgoščenke (CD-ja). Podatki o zgoščenki so: naslov
zgoščenke in podatki o pesmih na zgošenki. Razredu dodaj
ustrezni konstruktor in metodo toString()
.
Pesmi na zgoščenki lahko predstaviš kot tabelo objektov tipa
Pesem
, ali kot Vector
, ali kot
Seznam
. Sam se odloči, katera možnost je najboljša,
pri tem pa upoštevaj, da je treba sestaviti še metode iz
naslednjega odstavka.
Razredu
Zgoscenka
dodaj še naslednje objektne
metode:
void dodajPesem(Pesem p)
, ki doda pesemp
v tabelo/vektor/seznam pesmi.int steviloPesmi()
, ki vrne število pesmi na zgoščenki,boolea istiIzvajalec()
, ki vrnetrue
, če vse pesmi na zgoščenki izvaja isti izvajalec.
Vse metode natančno preizkusi in napiši še program
TestZgoscenka
, iz katerega je razvidno, da tvoja
rešitev deluje.