Activitats
Gestió d'excepcions
L’objectiu d’aquesta activitat és practicar el disseny d’excepcions.
Milloreu la implementació de la classe Data03
, creant una nova classe anomenada Data04
mostrada tot seguit amb la incorporació de la gestió d’excepcions. Aprofiteu la millora per introduir l’ordre natural en la classe.
Descarregueu tot seguit el codi font de l’enunciat:
Gestió de taules (1)
L’objectiu d’aquesta activitat és comprovar la funcionalitat de la classe Arrays
del framework de col·leccions del Java (JCF).
Considereu la jerarquia de classes corresponent a la figura següent, implementada en els fitxers FiguraGeometrica02.java, Rectangle02.java, Cercle02.java i Triangle02.java. El seu codi font el podeu trobar al final de l’enunciat.
Dissenyeu la classe GrupFiguraGeometricaViaTaula per gestionar un grup de figures geomètriques emmagatzemades en una taula del Java, amb els requeriments següents:
- El codi de la figura és identificador dins la taula.
- La classe ha de proporcionar els mètodes bàsics per a la gestió de taules de figures geomètriques (afegir, cercar per codi, extreure, veure quina figura hi ha en una posició determinada, buidar el grup…).
- La classe ha de proporcionar un mètode per ordenar la taula segons el codi de les figures.
- La classe ha de proporcionar un mètode per ordenar la taula segons l’àrea de les figures.
- La classe ha de sobreescriure els mètode
equals()
heretat de la classeObject
.
Cal aprofitar, en el que sigui factible, els mètodes proporcionats per la classe Arrays
.
Si cal, podeu millorar el disseny de les classes de la jerarquia que neix a FiguraGeometrica
, afegint els mètodes i/o característiques que corresponguin.
Desenvolupeu una altra classe, anomenada ProvaGrupFiguraGeometricaViaTaula
, pertanyent a un paquet anomenat proves, que contingui un mètode main() en què es comprovi el funcionament dels mètodes dissenyats en la classe GrupFiguraGeometricaViaTaula
.
Allà on ho considereu oportú, utilitzeu excepcions (pròpies o de les que proporciona el Java).
Descarregueu l’arxiu següent amb el codi font de les classes:
Gestió de taules (2)
L’objectiu d’aquesta activitat és comprovar la funcionalitat de la classe Arrays del framework de col·leccions del Java (JCF)
Considereu la jerarquia de classes corresponent al disseny UML de la figura següent, implementada en els fitxers FiguraGeometrica02.java, Rectangle02.java, Cercle02.java i Triangle02.java. El seu codi font el podeu trobar al final de l’enunciat.
Dissenyeu la classe GrupOrdenatFiguraGeometricaViaTaula
per gestionar un grup de figures geomètriques emmagatzemades en una taula del Java, amb els requeriments següents:
- El codi de la figura és identificador dins la taula.
- Les figures geomètriques estan permanentment ordenades pel codi.
- La classe ha de proporcionar els mètodes bàsics per a la gestió de taules de figures geomètriques (afegir, cercar per codi, extreure, veure quina figura hi ha en una posició determinada, buidar el grup…).
- Les cerques per codi dins la taula s’han d’efectuar de la manera més eficient possible (cerca dicotòmica).
- La classe ha de sobreescriure els mètode
equals()
heretats de la classeObject
.
Cal aprofitar, en el que sigui factible, els mètodes proporcionats per la classe Arrays
.
Si cal, podeu millorar el disseny de les classes de la jerarquia que neix a FiguraGeometrica afegint els mètodes i/o característiques que corresponguin.
Desenvolupeu una altra classe, anomenada ProvaGrupOrdenatFiguraGeometricaViaTaula
, pertanyent a un paquet anomenat proves, que contingui un mètode main() en què es comprovi el funcionament dels mètodes dissenyats en la classe GrupOrdenatFiguraGeometricaViaTaula
.
Allà on ho considereu oportú, utilitzeu excepcions (pròpies o de les que proporciona el Java).
Descarregueu l’arxiu següent amb el codi font de les classes:
Gestió de la classe Vector (1)
L’objectiu d’aquesta activitat és comprovar la funcionalitat de les classes Vector
i Collections
del framework de col·leccions del Java (JCF).
Considereu la jerarquia de classes corresponent al disseny UML de la figura següent, implementada en els fitxers FiguraGeometrica02.java, Rectangle02.java, Cercle02.java i Triangle02.java.
Dissenyeu la classe GrupFiguraGeometricaViaVector
per gestionar un grup de figures geomètriques emmagatzemades en un objecte Vector
del Java, amb els requeriments següents:
- El codi de la figura és identificador dins el vector.
- La classe ha de proporcionar els mètodes bàsics per a la gestió de vectors (taules) de figures geomètriques (afegir, cercar per codi, extreure, veure quina figura hi ha en una posició determinada, buidar el grup…).
- La classe ha de proporcionar un mètode per ordenar el vector segons el codi de les figures.
- La classe ha de proporcionar un mètode per ordenar el vector segons l’àrea de les figures.
- La classe ha de sobreescriure el mètode
equals()
heretats de la classe Object.
Cal aprofitar, en el que sigui factible, els mètodes proporcionats per la classe Collections.
Si cal, podeu millorar el disseny de les classes de la jerarquia que neix a FiguraGeometrica, afegint els mètodes i/o característiques que corresponguin.
Desenvolupeu una altra classe, anomenada ProvaGrupFiguraGeometricaViaVector
, pertanyent a un paquet anomenat proves, que contingui un mètode main() en el qual es comprovi el funcionament dels mètodes dissenyats en la classe GrupFiguraGeometricaViaVector
.
Allà on ho considereu oportú, utilitzeu excepcions (pròpies o de les que proporciona el Java).
Descarregueu l’arxiu següent amb el codi font de les classes:
Gestió de la classe Vector (2)
L’objectiu d’aquesta activitat és comprovar la funcionalitat de les classes Vector
i Collections
del framework de col·leccions del Java (JCF).
Considereu la jerarquia de classes corresponent al disseny UML de la figura següent, implementada en els fitxers FiguraGeometrica02.java, Rectangle02.java, Cercle02.java i Triangle02.java.
Dissenyeu la classe GrupOrdenatFiguraGeometricaViaVector
per gestionar un grup de figures geomètriques emmagatzemades en un objecte Vector del Java, amb els requeriments següents:
- El codi de la figura és identificador dins el vector.
- Les figures geomètriques estan permanentment ordenades pel codi.
- La classe ha de proporcionar els mètodes bàsics per a la gestió de vectors (taules) de figures geomètriques (afegir, cercar per codi, extreure, veure quina figura hi ha en una posició determinada, buidar el grup…).
- Les cerques per codi dins el vector s’han d’efectuar de la manera més eficient possible (cerca dicotòmica).
- La classe ha de sobreescriure el mètode
equals()
heretat de la classe Object.
Cal aprofitar, en el que sigui factible, els mètodes proporcionats per la classe Collections.
Si cal, podeu millorar el disseny de les classes de la jerarquia que neix a FiguraGeometrica afegint els mètodes i/o característiques que corresponguin.
Desenvolupeu una altra classe, anomenada ProvaGrupOrdenatFiguraGeometricaViaVector
, pertanyent a un paquet anomenat proves, que contingui un mètode main() en el qual es comprovi el funcionament dels mètodes dissenyats en la classe GrupOrdenatFiguraGeometricaViaVector
.
Allà on ho considereu oportú, utilitzeu excepcions (pròpies o de les que proporciona el Java).
Descarregueu l’arxiu següent amb el codi font de les classes:
Gestió de la classe Hashtable
L’objectiu d’aquesta activitat és comprovar la funcionalitat de les classes Hashtable
i Collections
del framework de col·leccions del Java (JCF).
Considereu la jerarquia de classes corresponent al disseny UML de la figura següent, implementada en els fitxers FiguraGeometrica02.java, Rectangle02.java, Cercle02.java i Triangle02.java.
Dissenyeu la classe GrupFiguraGeometricaViaHashtable
per gestionar un grup de figures geomètriques emmagatzemades en un objecte Hashtable
de Java, amb els requeriments següents:
- El codi de la figura sigui el valor d’accés.
- La classe ha de proporcionar els mètodes bàsics per la gestió d’un grup de figures geomètriques (afegir, cercar per codi, extreure, buidar el grup…).
- La classe ha de sobreescriure el mètode
equals()
heretat de la classe Object.
Si cal, podeu millorar el disseny de les classes de la jerarquia que neix a FiguraGeometrica afegint els mètodes i/o característiques que corresponguin.
Desenvolupeu una altra classe, anomenada ProvaGrupFiguraGeometricaViaHashtable
, pertanyent a un paquet anomenat proves, que contingui un mètode main() en el qual es comprovi el funcionament dels mètodes dissenyats en la classe GrupFiguraGeometricaViaHashtable
.
Allà on ho considereu oportú, utilitzeu excepcions (pròpies o de les que proporciona el Java).
Descarregueu l’arxiu següent amb el codi font de les classes:
Productes esgotats tractant fitxers XML
L’objectiu d’aquesta activitat és treballar amb el model DOM d’un fitxer XML per fer cerques a les dades que desa, modificar-les, i així generar una nova versió del document.
Partim d’un document XML, anomenat “Productes.xml”, que enumera una llista de productes seguint un format com el següent:
<?xml version="1.0" encoding="UTF-8" standalone="no"?> <LlistaProductes data="23/11/2011"> <Producte id="1" aLaVenda="true"> <Nom>Producte 1</Nom> <Preu>10.0</Preu> <Estoc>3</Estoc> </Producte> <Producte id="2" aLaVenda="true"> <Nom>Producte 2</Nom> <Preu>15.0</Preu> <Estoc>10</Estoc> </Producte> <Producte id="3" aLaVenda="true"> <Nom>Producte 3</Nom> <Preu>25.0</Preu> <Estoc>0</Estoc> </Producte> <Producte id="4" aLaVenda="true"> <Nom>Producte 4</Nom> <Preu>5.75</Preu> <Estoc>50</Estoc> </Producte> </LlistaProductes>
Feu un programa que elimini de la venda aquells productes amb estoc inferior a 5, canviant l’atribut “aLaVenda” al valor “false”. En el fitxer d’exemple, el resultat seria que hi ha 2 productes que cal retirar, i els productes 1 i 3 passarien a tenir el seu atribut “aLaVenda” de “true” a “false”. El nou XML resultant s’ha d’escriure en un nou fitxer anomenat “NouDoc.xml”.
Productes esgotats amb expressions regulars
L’objectiu d’aquesta activitat és veure com usar expressions regulars i les classes Pattern
i Match
del Java per cercar paraules amb certes propietats.
Partint del mateix fitxer que a l’exercici anterior, compteu el nombre de productes que hi ha esgotats (l’estoc és exactament 0) i mostreu aquest valor per pantalla. Per resoldre aquesta tasca, però, ara useu expressions regulars aplicades directament sobre el text del document XML. No cal modificar res de l’XML en aquest cas, només comptar el nombre de productes esgotats i mostrar aquest valor per pantalla.
Cercar paraules amb diftongs creixents
L’objectiu d’aquesta activitat és veure com usar expressions regulars i les classes Pattern
i Match
del Java per cercar paraules amb certes propietats.
Feu un programa en què, dins un text (per exemple, dins un fitxer anomenat “Diftongs.txt”),se cerqui totes les paraules que contenen un subconjunt dels diftongs creixents en català. Concretament, aquells amb un so i/u en posició inicial de mot, seguits d’una vocal.
El programa ha de mostrar per pantalla la paraula sencera que el conté. Per exemple, a partir del text següent:
Hola! Com anem? Cauen moltes coses, com ara iodes o iogurts, a part d'una hiena i moltes joies.
El programa mostraria el següent:
iodes iogurts, hiena