This shows you the differences between two versions of the page.
poo-ca-cd:laboratoare:java-basics [2022/10/09 12:00] anca_ioana.rolea [Exerciții] |
poo-ca-cd:laboratoare:java-basics [2022/10/10 12:29] (current) andrei.vasiliu2211 [Exerciții] |
||
---|---|---|---|
Line 553: | Line 553: | ||
* ''java -version'' - comanda ''java'' este folosită pentru rulare | * ''java -version'' - comanda ''java'' este folosită pentru rulare | ||
- | **Task 0** (0p) | + | <note warning>Fiind un laborator introductiv și cu multe concepte destul de greu de verificat automat cu LambdaChecker, punctajul de săptămâna aceasta este opțional/bonus. Cu toate acestea, încercați să rezolvați **toate** exercițiile și să puneți cât mai multe întrebări asistenților, pentru a vă însuși cât mai bine cunoștințele.</note> |
- | - Intrați pe link-ul de Github Classroom aferent slotului de laborator, dat de către asistent, clonați repository-ul și deschideți proiectul din repository în IntelliJ. | + | |
**Task 1** (3p) | **Task 1** (3p) | ||
- | - Creați pachetul ''lab1'',unde adăugați codul din secțiunea [[:poo-ca-cd:laboratoare:java-basics:#exemplu_de_implementare|Exemplu de implementare]]. Rulați codul din IDE. | + | - Creați pachetul ''lab1'', unde adăugați codul din secțiunea [[:poo-ca-cd:laboratoare:java-basics:#exemplu_de_implementare|Exemplu de implementare]]. Rulați codul din IDE. |
- Folosind linia de comandă, compilați și rulați codul din exemplu | - Folosind linia de comandă, compilați și rulați codul din exemplu | ||
- Mutați codul într-un pachet ''task1'', creat în pachetul ''lab1''. Folosiți-vă de IDE, de exemplu Refactor -> Move pentru IntelliJ. Observați ce s-a schimbat în fiecare fișier mutat. | - Mutați codul într-un pachet ''task1'', creat în pachetul ''lab1''. Folosiți-vă de IDE, de exemplu Refactor -> Move pentru IntelliJ. Observați ce s-a schimbat în fiecare fișier mutat. | ||
Line 568: | Line 566: | ||
* ''Internship'' | * ''Internship'' | ||
* cu proprietățile: ''name'' (String), ''minGrade'' (String), ''students'' (array de clase ''Student'' - [[:poo-ca-cd:laboratoare:java-basics#arrays|exemplu arrays]]). | * cu proprietățile: ''name'' (String), ''minGrade'' (String), ''students'' (array de clase ''Student'' - [[:poo-ca-cd:laboratoare:java-basics#arrays|exemplu arrays]]). | ||
- | * cu metoda: ''chooseCandidateRandomly'' care returneaza in mod aleatoriu un student din lista | + | * cu metoda: ''chooseCandidateRandomly'' care returneaza in mod aleatoriu un student din lista de studenti corespunzatoare unui internship (**Hint:** folositi clasa Random). |
- | de studenti corespunzatoare unui internship. (**Hint:**: folositi clasa Random) | + | * cu metoda: ''chooseCandidatesForInterview'' care va afisa toti candidatii care au obtinut un phone interview la o anumita companie. Fiecare companie are asociat un grade minim dupa care va selecta candidatii pentru un phone interview. Astfel, daca grade-ul unui candidat este mai mare sau egal cu grade-ul minim dorit de o companie pentru angajatii sai, atunci acesta va primi un phone interview. Afisarea candidatilor se va face sub forma: "Candidate [nume_student] got a phone interview at [nume_internship]" |
- | * cu metoda: ''chooseCandidatesForInterview'' care va afisa toti candidatii care au obtinut un phone interview la | + | |
- | o anumita companie. Fiecare companie are asociat un grade minim dupa care va selecta candidatii pentru un phone interview. | + | |
- | Astfel, daca grade-ul unui candidat este mai mare sau egal cu grade-ul minim dorit de o companie pentru angajatii sai, | + | |
- | atunci acesta va primi un phone interview. Afisarea candidatilor se va face sub forma: "Candidate [nume_student] got a phone interview at [nume_internship]" | + | |
* Nu folosiți vreun modificator de acces pentru variabile (aka "nu puneți nimic în fața lor în afară de tip") | * Nu folosiți vreun modificator de acces pentru variabile (aka "nu puneți nimic în fața lor în afară de tip") | ||
* ''JobMarket'' cu metoda ''main''. | * ''JobMarket'' cu metoda ''main''. | ||
Line 609: | Line 603: | ||
*/ | */ | ||
** Task 4** (1p) | ** Task 4** (1p) | ||
- | - Adăugați modificatorul de acces 'private' tuturor variabilelor claselor Student și Course (e.g. ''private String name;'') | + | - Adăugați modificatorul de acces 'private' tuturor variabilelor claselor Student și Internship (e.g. ''private String name;'') |
- Rezolvați erorile de compilare adăugând metode getter și setter acestor variabile. | - Rezolvați erorile de compilare adăugând metode getter și setter acestor variabile. | ||
- Ce ați făcut acum se numește //încapsulare (encapsulation)// și este unul din principiile de bază din programarea orientată pe obiecte. Prin această restricționare protejați accesarea și modificarea variabilelor. | - Ce ați făcut acum se numește //încapsulare (encapsulation)// și este unul din principiile de bază din programarea orientată pe obiecte. Prin această restricționare protejați accesarea și modificarea variabilelor. |