Ciao a tutti,
sono una nuova arrivata e soprattutto principiante nel linguaggio Java.
Sto cercando di concludere un programmino (se cosi può essere chiamato) che deve analizzare documenti html al fine di determinare se questo sia o meno ben formato ma sono bloccata su di un paio di classi e su alcuni passaggi che proprio non mi sono chiari, non capisco chiaramente cosa fare e come sviluppare il codice (causa inesperienza dato che il laboratorio esiste per modo di dire uff).
Qualche anima pia può venirmi in soccorso ???
Provo a rendere l'idea su cosa mi sta tartassando. Ho creato la Classe Tag (che rappresenta un generico tag HTML) L’implementazione di questa
classe deve prevedere di:
– poter istanziare un elemento della classe a partire da una stringa che
ne contiene la sua descrizione (si consiglia di iniziare questa operazione
‘pulendo’ opportunamente la stringa dagli spazi bianchi), emettendo
un’eccezione MalformedTagException (la cui classe corrispondente
dovr`a essere opportunamente implementata) nel caso in cui il
tag non risulti ben formato;
– poter determinare se un tag sia di apertura oppure di chiusura;
– poter determinare il valore associato a un attributo;
– poter analizzare, tramite il metodo statico Tag getSpecializedtTag(String
t), la stringa t passata come argomento. Nel caso in cui tale stringa
contenga la descrizione di un tag ben formato il metodo dovr`a
restituire la corrispondente istanza di una delle sottoclassi di Tag descritte
pi`u avanti; in caso contrario il metodo dovr`a invece lanciare
l’eccezione MalformedTagException;
– inserire nella classe il metodo astratto void updateStatistics(StatisticsCollector
stat)
import prog.io.*;
public class Tag {
String tag;
public Tag(String s) throws MalformedTagException{
tag=s;
// manca pulizia (spazi bianchi) della stringa
public char AppChius(Tag g){
String nuovotag= (String)g;
char[] caratteri = nuovotag.toCharArray();
for (int i = 0; i < caratteri.length; i++){
if (caratteri[i] == '/')
return 'c';
else
return 'a';
}
return 'x';
}
public String getTag(){
return Tag;
}
public void Instance(String t) throws MalformedTagException{
// manca restituire la corrispondente istanza di una delle sottoclassi.
}
abstract public void updateStatistics(StatisticsCollectorstat sc);
}
In questa classe ci sono a me oscuri punti che devo risolvere:
1) mi manca la parte di codice dove deve prevedere di istanziare un elemento della classe a partire da una stringa che ne contiene la sua descrizione (si consiglia di partire pulendola dagli spazi bianchi) emettendo un'eccezione se il tag nn risulti ben formato.
2) e deve poter analizzare, tramite il metodo statico Tag getSpecializedtTag(String
t), la stringa t passata come argomento. Nel caso in cui tale stringa
contenga la descrizione di un tag ben formato il metodo dovr`a
restituire la corrispondente istanza di una delle sottoclassi di Tag descritte
pi`u avanti; in caso contrario il metodo dovr`a invece lanciare
l’eccezione MalformedTagException;
Questi 2 punti mi sono totalmente oscuri.
In piu la seguente classe TagStack, che rappresenta una generica pila in cui memorizzare tag. Tale classe deve implementare i seguenti metodi:
– void push(Tag t), che permette di inserire un tag nella lista;
– Tag pop(), che estrae il tag in cima alla lista e lo restituisce; tale operazione
`e ovviamente possibile solo nel caso in cui la lista non sia vuota,
altrimenti il metodo dovr`a lanciare un’eccezione EmptyStackException,
Questa proprio nn so davvero da dove partire.
Mi potete aiutare, qualche delucidazione o consiglio? Grazie mille a tutti![]()