Activitats
Generació de documentació en format javadoc
L’objectiu d’aquesta activitat és generar documentació en format javadoc a partir de comentaris en el codi font Java.
Genereu les classes RegistreNotes
i CalculsArrayReals
, amb el seu codi tal com s’ha presentat en aquesta unitat per al seu plantejament modular. En aquest cas, la primera ha de pertànyer al package unitat5.apartat1.activitats
i la segona a utilitats.arrays
.
En tots els seus mètodes, genereu els comentaris que creieu escaients per poder generar la seva documentació en format javadoc. Un cop fet, useu el vostre entorn de treball per generar aquesta documentació.
Reutilització de mòduls
L’objectiu d’aquesta activitat és veure com reutilitzar una mateixa classe en diversos programes, quan aquests són en diferents packages.
Genereu els tres petits programes següents, tots ells des de package unitat5.apartat1.activitats
:
ExponentEnters
. Pregunta, individualment, dos valors enters i mostra el resultat d’elevar el primer al segon (operació exponent).MesDecimals
. Pregunta, individualment, dos valors reals i diu quin dels dos té més decimals.ExisteixEnter
. Pregunta, individualment, un valor enter i un de real i diu si entre els decimals de la representació que usa Java per al valor real està contingut l’enter. Tingueu en compte que Java no pot representar internament qualsevol real (especialment si té molts decimals).
Tots aquests programes han de reutilitzar els mètodes de la classe EntradaTeclat
, pertanyent al package unitat5.apartat1.activitats.interficie
. Aquesta és la que conté tots els mètodes associats a la lectura de dades usant el teclat. Quan es llegeixi un valor des del teclat, cal controlar tant si el valor escrit pertany al tipus esperat com si s’ha escrit més d’un valor a una sola línia. En tots dos casos, es torna a preguntar fins que s’entri un valor correcte. Per exemple:
Introdueix un valor enter: xxx Aquest valor no és un enter. Introduïu un valor enter: 6,7 Aquest valor no és un enter. Introduïu un valor enter: 4 xxx Has escrit més d'un valor. Introduïu un valor enter: 4 3 Has escrit més d'un valor. Introduïu un valor enter: ...
Comenteu usant el format javadoc tots els mètodes de les classes, a part de main
i inici
.
Tractament modular d'arrays
L’objectiu d’aquesta activitat és generar un programa modular senzill.
Feu un programa modular compost de les dues classes següents:
D’una banda, EditorArrayEnters, pertanyent al package utilitats.arrays
. Aquesta classe té com a mínim aquests dos mètodes:
int[] inserir(int[] a, int pos, int v)
, que serveix per inserir el valorv
a la posiciópos
de l’array, desplaçant el valor existent i tots els que hi ha a continuació a la dreta. No s’esborra cap valor. S’avalua al nou array resultant, que tindrà una posició més que l’original.int[] esborrar(int[] a, int pos)
, esborra el valor a la posiciópos
. En aquest cas, tots els valors posteriors es desplacen a l’esquerra, de manera que el nou array tindrà una posició menys que l’original.
En tots dos casos, si hi ha cap error (posició invàlida), no es fa res i s’avalua a null
.
D’altra banda, ProvesEditor, pertanyent al package unitat5.apartat1.activitats
. Aquesta ha de comprovar que els mètodes de la classe anterior funcionen correctament. Per fer-ho, cal que faci les invocacions convenients perquè l’array mostrat tot seguit es converteixi en el que es mostra a continuació.
des de {1,2,3,4,5,6} a {1,6,7,2,9,8,5}
Per a tots els mètodes, comenteu-los completament en format javadoc.
Mòdul d'entrada de dades
L’objectiu d’aquesta activitat és afegir uns nous mòduls a un programa ja existent.
Feu un nou programa que aprofiti la classe EditorArrayEnters
de l’activitat anterior. Usant els principis de modularitat estudiats en aquesta unitat i documentat qualsevol mètode nou, ara l’usuari ha de poder modificar un array via un menú textual. Per aquest programa, l’array es pot declarar directament dins el codi com una variable ja inicialitzada amb certs valors concrets.
El menú ofereix tres opcions:
[I]nserir
. Quan l’usuari introdueix el caràcterI
, llavors se li pregunta a quina posició i després el valor. Llavors, s’insereix el valor especificat a aquesta posició.[E]sborrar
. Quan l’usuari introdueix el caràcterI
, llavors se li pregunta a quina posició. Llavors, s’esborra el valor especificat a aquesta posició.[S]ortir
. Quan l’usuari introdueix el caràcterS
, el programa finalitza.
Les dades sempre es van preguntant una a una i han de comprovar possibles errors. Després d’executar una de les dues comandes que modifiquen l’array, cal mostrar el nou estat de l’array i el menú. Un exemple d’execució podria ser el següent:
ARRAY = { 1 2 3 4 5 6 } Tria una opció: [I]nserir [E]sborrar [S]ortir I Quina posició voleu manipular? -1 Aquesta posició no existeix Quina posició voleu manipular? ddd El valor no és enter Quina posició voleu manipular? 1 Quin valor voleu usar? 7 ARRAY = { 1 7 2 3 4 5 6 } Trieu una opció: [I]nserir [E]sborrar [S]ortir E Quina posició voleu manipular? 3 ARRAY = { 1 7 2 4 5 6 } Trieu una opció: [I]nserir [E]sborrar [S]ortir S
La classe Math
L’objectiu és aprendre a cercar informació a la documentació de l’API del Java.
Estudieu la documentació de la classe Math
per veure si hi ha algun mètode que permeti simplificar el programa d’exemple (apartat 1.4.1) per calcular la hipotenusa al teorema de Pitàgores. Modifiqueu el programa perquè usi aquest mètode i comproveu que funciona.