Recap: Word Filter
Combină metode, valori returnate, metode pe șiruri, array-uri, parcurgerea array-urilor și break/continue într-o singură misiune
Misiune: Filtrul Stației Radio
Tommy ascultă stația radio a poliției din Vice City. Fluxul este plin de paraziți, iar la un moment dat operatorul închide cu un semnal de final. Scrie un filtru care curăță transmisia și păstrează doar numele reale.
Pune semnalele într-un array de String numit semnale, de exemplu:
String[] semnale = { "tommy", "static", "lance", "static", "cortez", "static", "diaz", "out", "mercedes" };
Scrie o metodă care primește array-ul de semnale și returnează un nou array care conține doar numele valide, scrise cu majuscule. Metoda trebuie să:
- Parcurgă array-ul
- Sară peste orice semnal egal cu
"static"(foloseștecontinueși.equals()) - Se oprească complet când întâlnește
"out"(foloseștebreak); tot ce vine după este ignorat - Transforme numele valide cu
.toUpperCase()și să le strângă în array-ul rezultat
În main, apelează metoda, afișează fiecare nume pe linia lui, apoi afișează câte nume au rămas.
Sfat: din moment ce nu știi de la început câte nume vor fi valide, parcurge array-ul de două ori: prima dată doar le numeri, apoi creezi array-ul rezultat de mărimea potrivită și îl umpli la a doua parcurgere.
Exemplu
Pentru { "tommy", "static", "lance", "static", "cortez", "static", "diaz", "out", "mercedes" }
TOMMY
LANCE
CORTEZ
DIAZ
Total: 4
Exemplu când semnalul de final vine primul { "out", "tommy", "lance" } (niciun nume valid)
Total: 0
Exemplu fără paraziți și fără semnal de final { "tommy", "lance" }
TOMMY
LANCE
Total: 2