LabJava 06-07
LabJava 06-07
Laborator 6 -7
săptămâna 4.11.2019 – 9.11.2019
săptămâna 11.11.2019 – 16.11.2019
OBIECTIVE:
- Excepţii
- Utilizarea colecţiilor
- Tipuri generice
- Compararea obiectelor
3. Să se scrie o clasă Revista care are următoarele proprietăţi: nume, preţ, tip (lunară, bilunară,
anuală). Să se realizeze un program care:
• Defineşte clasa Revista
• Creează o clasă de test care conţine un şir de Reviste
• Sortează şirul de reviste în funcţie de tip folosind o clasă anonimă
• Sortează şirul de reviste în funcţie de preţ şi nume folosind o clasă anonimă
4. Scrieţi o clasă ce păstrează într-un ArrayList un şir de persoane (nume, prenume, vârsta,
profesia). Scrieţi metode pentru următoarele operaţii:
1
a. Adăugarea unei persoane
b. Afişarea tuturor persoanelor din listă
c. Eliminarea unei persoane din listă
d. Folosind un iterator număraţi câţi studenţi sunt în listă, câte persoane au vârsta mai mică
decât 25 ani şi câţi programatori sunt în listă.
e. Să se creeze un map care are ca şi cheie profesia şi ca valoare lista de persoane care au
acea profesie. Afişaţi map-ul.
f. Sortaţi lista de persoane în funcţie de vârstă şi dacă două persoane au aceeaşi vârstă în
funcţie de nume.
5. Comparaţi timpul necesar execuţiei operaţiilor: add, get, remove, s.a.m.d. pentru colecţii de tip
ArrayList şi LinkedList (având mai mult de 10000 elemente), folosind metoda, clasei System,
nanoTime ().
6. Modificaţi aplicaţia – gestionare banca – din laboratoarele 5/6 astfel încât să se folosească
colecţii în loc de tablouri de obiecte. Adăugaţi următoarele cerinţe:
a. Fiecare cont va reţine data ultimei accesări (un obiect de tip java.util.Date)
b. Adăugarea unui raport RaportZilnic care va afişa alfabetic persoanele care accesează
contul în ziua curentă
2
TEMA: TERMEN 23.11.2019
1. Fie clasa Pereche (parteneri de dans) care are proprietăţile numePartener1, numePartener2.
a. Să se creeze un şir de perechi.
b. Să se adauge, să se şteargă elemente din listă.
c. Să se sorteze lista după primul/ultimul partener
d. Să se verifice corectitudinea perechii (dacă ambele valori sunt nenule), în caz de eroare
să se arunce o excepţie.
e. Să se modifice clasa Pereche astfel încât pe lângă tipul String să poată fi folosită şi
pentru clasa Persoană definită la exerciţiul 1 din laborator.
2. Creaţi o listă cu toate propoziţiile unui text care este pasat ca parametru pe linia de comandă.
a. Pentru fiecare propoziţie afişaţi cuvintele distincte
b. Pentru întreg textul realizaţi o statistică care conţine lungimea fiecărui cuvânt şi numărul
de cuvinte care au această lungime (Ex. Ana are mere. Statistica va fi: 3:2, 4:1)
c. Eliminaţi din lista de cuvinte, cuvintele care conţin subşirul ’re’. Afişaţi lista astfel
obţinută.
d. Sortaţi propoziţiile după numărul de cuvinte distincte pe care îl conţin astfel încât
propoziţiile cu cele mai multe cuvinte distincte să fie primele. Tipăriţi colecţia astfel
obţinută.
3. Fie clasa Student care are ca atribute numele studentului, grupa din care face parte şi un şir de
note obţinute la diferite materii. Să se realizeze un program care gestionează studenţii dintr-o
grupă.
a. Programul va permite adăugarea, eliminarea de studenţi dintr-o grupă
b. Calcularea mediei generale a unui student
c. Identificarea studenţilor care nu au promovat examene
d. Sortarea studenţilor în funcţie de nume, media generală
e. Evidenţierea studenţilor care au prea puţine examene luate pentru a promova anul
Trataţi excepţiile care pot apărea. Adăugaţi, dacă este nevoie, şi alte clase în afară de clasa
Student pentru rezolvarea problemei. Se vor folosi colecții.