Задатак — Учитавање пријављених студената
Датотека садржи податке у формату:
indeks,ime,prezime,broj_poena
На пример:
101/2025,Ana,Jovanovic,28
102/2025,Marko,Petrovic,abc
103/2025,Milica,Ilic,31
Класа Student
Студент има:
- индекс;
- име;
- презиме;
- број поена.
Број поена мора бити у опсегу:
0–100
NeispravanStudentException
Направити сопствени цхецкед изузетак:
public class NeispravanStudentException extends Exception
ParserStudenta
Направити методу:
public static Student parsiraj(String red)
throws NeispravanStudentException
Метода треба да провери:
- да ли постоје тачно 4 поља;
- да ли је индекс непразан;
- да ли су име и презиме непразни;
- да ли је број поена број;
- да ли је број поена између 0 и 100.
Ако ред није исправан, бацити:
NeispravanStudentException
UcitajStudente
Направити методу:
public static List<Student> ucitaj(String putanja)
throws IOException
Користити:
try-with-resources
За сваки ред:
- покушати парсирање;
- ако је ред неисправан, исписати упозорење;
- наставити са следећим редом.
Грешка отварања/читања фајла треба да се проследи позиваоцу.
Main
Main треба да:
- позове
ucitaj; - ухвати
IOException; - испише успешно учитане студенте.
Размислити
- Зашто
ParserStudentaне хвата сопствениNeispravanStudentException? - Зашто
UcitajStudenteхвата грешку појединачног реда? - Зашто
UcitajStudenteне мора нужно да хватаIOException? - Који ниво програма зна шта треба урадити ако фајл уопште не постоји?
Самостални део — Извештај о увозу
Датотека садржи име и број бодова раздвојене зарезом. Бодови су 0–100. Направити извештај исправних редова у новом фајлу и број одбијених редова. Сами расподелите одговорности.
Критеријум провере: Проверити празно име, абц, 101, додатни завршни зарез и недостајући фајл. Разликовати покварен садржај од грешке отварања. Подржан је једноставан формат без наводника и зареза унутар поља.
Предати мали Main са демонстрацијом и кратко образложење одлука. У овом делу
нису задати називи класа или обавезни обрасци; образложено једноставније решење
је прихватљиво. Најпре дефинисати уговор и очекивани резултат, па имплементирати.