Exercicis de funcions estàtiques

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

Sumari

  1. Intro Excepcions
    1. WaitForInt
      1. Exemples
  2. Paths
    1. FileExists
    2. GenerateDummyFileStructure
    3. ProfileBackup
    4. RenameAsCapitalLetter
    5. FindFile
      1. Input
      2. output
  3. InputOutput
    1. MisileSecretCode
      1. Input
      2. Output
    2. IWasHere
    3. EssayAnalyser
      1. Input
      2. Output
    4. RadarFile
    5. Input
    6. Output
    7. RectangleSizesFile
      1. Input
      2. Output
    8. FindJavaFile
    9. RectangleToFile
  4. Input
  5. Output
    1. Fitxer
    2. Consola
    3. BuyListInFile
    4. Input
    5. Output
    6. Input
    7. Output
  6. Serializable
    1. BuyListInFileSerializable

Intro Excepcions

WaitForInt

Fes un programa que llegeixi l'entrada de l'usuari. Si l'usuari no introdueixi un enter printa No és un enter. Si l'usuari introdueixi un enter printa'l amb el missatge Número: X

Exemples

input: lorem
output: No és un enter

input: 4
output: Número: 4

Paths

FileExists

Demana a l'usuari un path. Retorna true si existeix, false sinó.

input: /home
output: true

GenerateDummyFileStructure

Crea la carpeta ~/dummyfolders que contingui 100 carpetes numerades del 1 al 100.

Nota Pots obtenir la carpeta home amb la següent comanda

String homePath = System.getProperty("user.home");

ProfileBackup

Fes un programa que fagi un backup del fitxer .profile.

Guarda el fitxer ~/.profile a la carpeta ~/backup/2021-02-16T09:59:04.343769/.profile

Podeu obtenir la data actual usant:

LocalDateTime.now().toString()

RenameAsCapitalLetter

Demana a l'usuari un path.
Renombra tots els fitxers que hi ha a dins per tal que els noms estiguin amb lletres majuscules.

FindFile

Fes un programa que donat un path i un nom de fitxer, miri si hi ha algun fitxer a dins el path amb aquest nom (mirar a dins de carpetes també).
Per cada ocurrencia, imprimeix el path per pantalla.

Input
/home/user/
file.txt
output
file.txt
gsad1/dsa/file.txt
zsa/file.txt

InputOutput

MisileSecretCode

Una empresa militar ens contacta per a que fem un programa per introduir el codi secret per l'explosió d'un missil. L'usuari introduirà un text per pantalla i l'haurem de guardar en el fitxer secret.txt de la carpeta actual.
Imprimeix missil preparat quan s'hagi escrit el fitxer.

Input
328df72928s72
Output
missil preparat

IWasHere

Fes un programa que cada cop que s'executi afegeixi una linia al fitxer ~/i_was_here.txt amb la següent linia.

I Was Here: 2021-02-16T09:59:04.343769

EssayAnalyser

Volem fer un programa que, donat un fitxer de text ens indiqui quantes línies té i quantes paraules té.

Input
/home/user/somefile.txt
Output
Número de línies: 56
Número de paraules: 524

RadarFile

Un radar de transit va guardant les diferents velocitats que registra en un fitxer. Guarda les velocitats en km/hora, separades per un espai. Et pots descarregar un exemple de fitxer aquí

Fes un programa demani a l'usuai la ruta del fitxer i  que calculi la velocitat màxima, mitjana i mínima detectada.

Input

/home/sjo/radar.txt

Output

Velocitat màxima: 100km/h
Velocitat mínima: 50km/h
Velocitat mitjana: 75km/h

RectangleSizesFile

Volem fer un programa que ens digui l'area de rectangles enmagatzemats en un fitxer
El fitxer contindrà

L'usuari introduirà el path al fitxer amb els rectangles.
Imprimeix la superfície i el perímetre dels diferents rectangles.

Notes

Input
./rectangles.txt
Output
Un rectangle de 2.0 x 4.0 té 8.0 d'area i 12 de perímetre.
Un rectangle de 3.5 x 5.4 té 18.9 d'area i 17.8 de perímetre.

FindJavaFile

Fes un programa que, donada una carpeta d'un projecte java cerqui un fitxer java que contingui el text _List_ i imprimeixi els paths per pantalla

RectangleToFile

Volem fer un programa que llegeixi de l'entrada una llista de rectangles.
Quan els hagi llegit tots, guardarem en un fitxer la informació de cada rectangle.

Nota: No pots crear el fitxer fins a que s'hagin llegit tots els rectangles.

Input

2
2.0 4.0
3.5 5.4
./rectangles.txt

Output

Fitxer

En el fitxer ./rectangles.txt

Un rectangle de 2.0 x 4.0 té 8.0 d'area i 12 de perímetre.
Un rectangle de 3.5 x 5.4 té 18.9 d'area i 17.8 de perímetre.

Consola

Dades enregistrades

BuyListInFile

Fes un programa que ens ajudi a crear una llista de la compra.
Al executar-se l'usuari introdurià les dades d'un producte.
Del producte en guardarà el nom, el preu i la quantitat que en vol comprar.

Després imprimeix el resum de la compra que ha anat afegint en les diferents execucions del programa (guarda la informació en un fitxer format text).

Recorda que vas fer un exercici semblant per la UF2 anomenat BuyList. Pots usar el codi que ja tens.

Input

1 Macarrons 2.35

Output

-------- Compra --------
1 Macarrons (2.35€) - 2.35€
-------------------------
Total: 2.35€
-------------------------

Input

8 Peres 0.35

Output

-------- Compra --------
1 Macarrons (2.35€) - 2.35€
8 Peres (0.35€) - 2.80€
-------------------------
Total: 5.15€
-------------------------

Serializable

BuyListInFileSerializable

Fes l'exercici BuyListInFile guardant les dades usant Serializable