Exercicis de funcions estàtiques

(*) elteuusuari correspon a la direcció de correu eltectrònic del centre, sense punts, fins a @itb.cat

Sumari

  1. IntegerLists
    1. IntegerListsReaderSample
      1. Input
      2. Output
    2. CheapestPrice
      1. Input
      2. Output
    3. OldestStudent
      1. Input
      2. Output
    4. AvgTemperature
      1. Input
      2. Output
    5. StudentStats
      1. Input
      2. Output
  2. CovidApp
    1. Exemple
      1. Input
      2. Output
  3. PersonValidator
    1. Exemple 1
      1. Input
      2. Output
    2. Exemple 2
      1. Input
      2. Output
  4. MatchAnalizer
    1. Input
    2. Output

IntegerLists

IntegerListsReaderSample

Crear una classe IntegerLists.
Defineix la funció readIntegerList que llegeixi una llista d'enters d'un scanner passat per paràmetre.

Els enters són introduits amb un espai de separació. -1 indica que ja no hi ha més enters a llegir.

public static List<Integer> readIntegerList(Scanner scanner)

Fes un programa (la classe s'ha de dir IntListReaderSample) que llegeixi una llista d'enters i la imprimeixi per pantalla.

Input

5 3 4 7 8 -1

Output

[5,3,4,7,8]

CheapestPrice

Defineix la funció min dins de la classe IntegerLists que donada una llista d'enters, retorni el valor mínim.

public static int min(List<Integer> list)

Fes un programa que donada la llista de preus (sense decimals) de tot de productes, retorni el preu del producte més baix

Input

5 3 4 7 8 -1

Output

El producte més econòmic val: 3€

OldestStudent

Fes un programa que donat diferents edats dels estudiants, retorni l'edat de l'estudiant amb més edat.

Input

5 3 4 7 8 -1

Output

L'alumne més gran té 8 anys

AvgTemperature

Fes un programa que donades diferents temperatures (sense decimals), retorni la temperatura mitjana (amb decimals)

Input

5 3 4 7 8 -1

Output

Ha fet 5.4 graus de mitjana

StudentStats

Després de fer un exàmen un professor vol veure l'estat general de la classe. Vol coneixer la nota mínima, la màxima i la mitjana dels seus alumnes.
Fes un petit programa que li solucioni la tasca (les notes de l'exàmen no tenen decimals).

Input

5 3 4 7 8 -1

Output

Nota mínima:  3
Nota màxima:  8
Nota mitjana: 5.4

CovidApp

Volem fer una petita aplicació per fer estadístiques de les dades de les infeccions de COVID a la nostre ciutat. Una centre d'investigació ens ha passat una classe amb diferents funcions que podeu descarregar aquí: CovidCalculations.java

Fes un programa que, donat una llista de casos diaris imprimeixi la informació de:

Exemple

Input

5 6 8 9 7 6 5 -1

Output

Hi ha hagut 46 casos en total, amb una mitjana de 6.57 per dia.
L'útlim creixement és de -0.17

PersonValidator

Crea la classe PersonValidator que tingui els següens mètodes:

public class PersonValidator {
    /**
     * Returns true if is a valid phone number (composed only by digits, spaces or +)
     * @param phone
     * @return true if valid
     */
    public static boolean isValidPhoneNumber(String phone){
        // TODO
    }

    /**
     * Returns true if is a valid person name (composed only characters and starts with upper case)
     * @param personName
     * @return true if valid
     */
    public static boolean isValidPersonName(String personName){
        // TODO
    }

    /**
     * Returns true if is a valid dni (including correct letter)
     * @param dni
     * @return true if valid
     */
    public static boolean isValidDni(String dni){
        // TODO
    }

    /**
     * Returns true if is a valid postalCode
     * @param postalCode
     * @return true if valid
     */
    public static boolean isValidPostalcode(String postalCode){
        // TODO
    }
}

Fes un programa on l'usuari introdueixi el nom, dni, telèfon, adreça i codi postal.
Imprimeix si hi ha algun error.

Exemple 1

Input
Mar
123456789Z
1548756486a4
05112
Output
Hi ha alguna dada incorrecta

Exemple 2

Input
Mar
123456789Z
+5684248768
05112
Output
Dades correctes

MatchAnalizer

Volem fer un programa que analitzi els resultats d'un partit de basquet. Hem de tenir en compte que en un partit de basquet es poden fer 1, 2 o 3 punts.
Donat els diferents resultats analitza que està passant.

L'usuari introduirà primer el nom dels dos equips i després el resultat actual

Input

Flors
Granotes
0 2
0 5
2 5
3 5
3 7
-1

Output

Cistella de Granotes
Triple de Granotes
Cistella de Flors
Tir lliure de Flors
Cistella de Granotes
Guanaya Granotes