Homepage  Il progetto dsy.it è l'unofficial support site dei corsi di laurea del Dipartimento di Scienze dell'Informazione e del Dipartimento di Informatica e Comunicazione della Statale di Milano. E' un servizio degli studenti per gli studenti, curato in modo no-profit da un gruppo di essi. I nostri servizi comprendono aree di discussione per ogni Corso di Laurea, un'area download per lo scambio file, una raccolta di link e un motore di ricerca, il supporto agli studenti lavoratori, il forum hosting per Professori e studenti, i blog, e molto altro...
In questa sezione è indicizzato in textonly il contenuto del nostro forum


.dsy:it. .dsy:it. Archive > Didattica > Corsi A - F > Fondamenti di architettura e programmazione
Pages: [1] 2 
nuovo progetto : consigli
Clicca QUI per vedere il messaggio nel forum
ziplo
Aiuto...........
allora avete visto il progetto????????
ma scusate una cosa, io sarò ignorante però non capisco come si fa ad inserire dei file html per controllarli...o forse non ho capito bene la consegna...cioè non ho proprio capito se io devo inserire i file o se il possibile utente li deve inserire??????
grazie se rispondete

Echoes
Bisogna caricarli attraverso degli appostiti metodi. Non è così strano come appare.

ziplo
si ma io da dove li prendo questi file html??cioè li carico con dei metodi ma questi metodi dovranno riferirsi a qulache file html???
non capisco davvero..

Nikola88
il file html in sè è un qualsiasi file html. quando avvii il programma gli dici quale analizzare

Echoes
è come fare un "apri file". Cioè bisognerà creare, o utilizzare , un metodo che faccia ad esempio la copia righe del file HTML-> array di stringhe java. e Poi attraverso le stringhe che hai "trasportato" fai tutte le dovute operazioni.. Così ho inteso io questa parte..

Nostrills
si...penso anch'io sia come dice Echoes....

kintaro
:sad: Non lo passerò mai FAP!!! :ueee:

Echoes
ok ho trovato la soluzione. Bisogna usare gli stream di input/output. si trova tutto sul libro. -Capitolo stream verso pag 580-.

ps x ziplo: vieni venerdi? alle 10 alle panchine...

Jaky
scusami..pagina 580, ma di quale edizione?

ziplo
seconda edizione

Jaky
prima edizione:
Gli stream
strem di caratteri
gerarchie reader...
classe file
stream di byte
ecc

questa roba qui no? :D

Nostrills
ragazzi secondo voi nel progetto si può usare la classe ArrayList??? Perchè a lezione nn l'abbiamo mai vista ma è nella dotazione standard di java....

Echoes
Originally posted by Nostrills
ragazzi secondo voi nel progetto si può usare la classe ArrayList??? Perchè a lezione nn l'abbiamo mai vista ma è nella dotazione standard di java....


quindi direi di si. Quello che abbiamo visto a lezione è stato tutto molto -troppo?- didattico, ma niente di veramente pratico. Adesso nel progetto è bisogna usare le cose VERE....

Nostrills
ok thanks...allora cercherò di usare tutto quello che posso

Giuffre
Secondo me bisogna usare il Polimorfismo su tutte le classi perchè è nostro amico. Inoltre readByte va usato per leggere il file in UNICODE. (Standard UNI-ISO9001)


Per controllare quanti tag ci sono secondo me si dovrebbe utilizzare Arrays.sort() che ti riordina il vettore in base a quanti tag ci sono


Per capire che tipo di tag io direi un StringTokenizer che taglia la stringa sui caratteri < e >

By I Fantastici 4 (4 su 1000 si salveranno :twisted: :twisted: )

Echoes
Originally posted by Giuffre
.....Secondo me bisogna usare il Polimorfismo su tutte le classi perchè è nostro amico.....


Secondo me invece avete fumato...

Nostrills
Originally posted by Giuffre
Per controllare quanti tag ci sono secondo me si dovrebbe utilizzare Arrays.sort() che ti riordina il vettore in base a quanti tag ci sono

Per capire che tipo di tag io direi un StringTokenizer che taglia la stringa sui caratteri < e >

Non ho ben capito perchè vuoi usare un Arrays.sort() che da quanto ricordo riordina l'array attraverso il compareTo per controllare quanti tag ci sono....???


sullo StringTokenizer mi trovi d'accordo...

Nikola88
Credo voglia dire che se li ordini in ordine alfabetico fai prima con i controlli di validità

Nostrills
si..potrebbe essere una soluzione ma secondo me è meglio se ti crei un contatore in ogni sottoclasse di tag che ogni volta che crea un oggetto aumenta..

Nikola88
Mi sembra una buona idea!! Adesso ci penso

Jaky
scusate...qualcuno che utilizza vecchie edizioni del libro, sa dov'è quella pagina internet di pighizzini in cui ci sono tutti gli errori di battitura?

ziplo
Ma secondo voi perchè consiglia di pulire la stringa dagli eventuali spazi bianchi nella classe Tag ?
grazie

Supernick
Questo non lo so...ma mi sorge un'altro dubbio........se all'interno del documento HTML c'è ad eseempio una frase con scritto " 9<10 (nove minore di dieci)"........devo stare attento anche che non conti il minore all'interno della frase come tag........o non è necessario???
grazie-


PS: Si Echoes, venerdì alle 10 ci son pure io :D

Lorux
raga ma nel testo dove spiega come creare la classe tagstack dice "A parte le segnature dei metodi push e pop `e lasciata piena libert`a sull’implementazione
di questa classe, a patto di non utilizzare la classe
java.util.Stack o equivalenti."

ora,nn so come funziona la java.util.stack ma io ho creato una stack come sapevo farla in C,cioè con ogni elemento della stack che ha all'interno un riferimento all'elemento precedente..
ora,là dice "a patto di non utilizzare la classe
java.util.Stack o equivalenti.",questo equivalenti comprende anche la stack che ho creato da me o posso usarla tranquillamente?

Echoes
Penso che lo stack tuo lo puoi usare tranquillamente. Lui specifica limitazioni solo nella java.util.Stack ,quindi è una soluzione accettabile ....

Jaky
scusate, avrei bisogno di un chiarimento:

io ho la prima edizione del libro, per quanto rigurda gli stream ci sono solo 20 pagine...anche nel vostro libro sono così poche?

non è che ci sia molto sul come prelevare le stringhe da un file..ho trovato solo readLine() della classe BufferedReader =( è proprio questo quello che bisogna utilizzare?

spero che qualcuno mi risponda..grazie :S

Jaky
Originally posted by ziplo
Ma secondo voi perchè consiglia di pulire la stringa dagli eventuali spazi bianchi nella classe Tag ?
grazie


non lo capisco nemmeno io :?

Echoes
Originally posted by Jaky
scusate, avrei bisogno di un chiarimento:

io ho la prima edizione del libro, per quanto rigurda gli stream ci sono solo 20 pagine...anche nel vostro libro sono così poche?

non è che ci sia molto sul come prelevare le stringhe da un file..ho trovato solo readLine() della classe BufferedReader =( è proprio questo quello che bisogna utilizzare?

spero che qualcuno mi risponda..grazie :S


Io avevo pensato di utilizzare appunto readLine() e mettere il contenuto del file HTML in un array di stringhe o (in caso sia più funzionale) in una stringa unica..

Lorux
io ho usato .read() del fileinputstream che legge un carattere alla volta e mette tutto in una stringa sola,poi lavoro su quella

jonny86
Secondo me la soluzione migliore è quella di lorux, perchè se no rischiate che se il file HTML è scritto tutto su un unica riga vi viene l'errore di overflow di lettura (cioè cercate di mettere in una stringa tutto il documento con readLine())

Poi penso che malchiodi consigli di pulire da eventuali spazi bianchi perchè se no per memorizzare gli attributi e i loro valori poi vi incasinate... cioè se avete un tag così:
<a href="pippo" target = "_blank"> lui ha detto che è valido ma se non eliminate gli spazi a fianco dell'uguale poi quando usate StringTokenizer per spezzettare i vari attributi siete nei casini (infatti vi darebbe come token: href="pippo",target,=,"_blank" mentre dovrebbe essere href="pippo",target="_blank".

E poi un consiglio.... non utilizzate StringTokenizer per verificare se il tag è aperto e chiuso bene, bastano 2 charAt nelle posizioni giuste.

Jaky
Originally posted by jonny86
Secondo me la soluzione migliore è quella di lorux, perchè se no rischiate che se il file HTML è scritto tutto su un unica riga vi viene l'errore di overflow di lettura (cioè cercate di mettere in una stringa tutto il documento con readLine())


non credo che i prof abbiano previsto questa cosa, spesso ci facciamo + problemi noi di quanti se ne siano fatti loro nel pensare questo programma.....bisognerebbe chieder conferma..

il_gege
Scusatemi una cosa, io sono MOLTO ignorante in java.

Di conseguenza vi pongo il mio problema:

Allora, usando il seguente codice

code:
FileReader doc = new FileReader("page.html"); BufferedReader bfr = new BufferedReader(doc); html = bfr.readLine();


mi viene ritornata solo la prima riga del sorgente; come mai?

Parte seconda:

code:
FileReader doc = new FileReader("page.html"); BufferedReader bfr = new BufferedReader(doc); html = bfr.read();


Invece così mi ritorna il numero di byte, ok, ma se poi io li volessi tramutare in stringhe?

Nostrills
Originally posted by il_gege


Allora, usando il seguente codice

code:
FileReader doc = new FileReader("page.html"); BufferedReader bfr = new BufferedReader(doc); html = bfr.readLine();


mi viene ritornata solo la prima riga del sorgente; come mai?



ciao
allora è giusto secondo me usare il readLine() del BufferedReader...però per leggere tutto il file devi mette il readLine() dentro un while con come condizione il fatto che nn legga stringhe nulle (il che significa che il file è stato letto tutto)..

il_gege
Ok perfetto!
Grazie mille...

però se io volessi usare un array di stringhe, come faccio a sapere quanto è lungo il buffer??

Così almeno se ho un vettore riesco a facilitare i movimenti per andarmi a cercare i caratteri..

Nostrills
non saprei..magari prova a darti una guardata alle API's di BufferedReader che magari trovi qualche metodo utile...

Nikola88
Invece di complicarti la vita leggi linea x linea e "attaccala" a una stringa di supporto

Nostrills
si potrebbe essere una buona soluzione anche quella....

il_gege
Vabbè, ormai quella parte lì l'ho passata, visto che comunque sono riuscito a muovermi...

Ora debbo capire come muovermi nella classe Tag.

Penso che sia quella la peggiore...

Nikola88
Secondo me è una delle più facili. Classifica il Tag e lo manda "giù" alla relativa sottoclasse in base al tipo

Supernick
Scusate io ho provato uan cosa....

questo è il codice

import javax.swing.*;
import java.lang.*;
import java.io.*;

public static void main (String [] args)throws IOException{
String Name;
Name=JOptionPane.showInputDialog("Inserisci il nome del file");
FileReader frd = new FileReader(Name);
BufferedReader bfr = new BufferedReader(frd);

String html;

while ((html=bfr.readLine()) != null)

System.out.println(html);

bfr.close();
frd.close();

System.exit(0);

}
}

Devo per forza lanciare l'eccezzione IOException, altrimenti non mi compila...qualcuno sa dirmi il perchè?

il_gege
Metti che non trova il file...

Supernick
giustamente...comunque purtroppo ho scoperto che va messo nel costruttore della classe HTMLPage.....

solo che così non mi funziona
cioè compila ma quando scrivo il nome del file non mi da niente come output........sigh...e spesso mi si riavvia il pc.......

ziplo
ma creando il metodo astratto updateStatistics nella classe tag anche la classe diventa astratta e non puo quindi essere istanziata?

Nikola88
Che novità.....

giron
scusate la domanda fuori luogo ma non volevo aprire un thread per una domanda stupida.
Per fare il progettino di gennaio a quale appello sul sifa dobbiamo iscriverci?

ziplo
puo essere che ha sbagliato la consegna??????
se c'è un metodo astratto nella classe tag allora cone si fa a istanziare un elemento della classe essendo questa astratta?????????????????????????????

Jaky
anche io mi sono posto lo stesso problema...però poi nel programma, non hai bisogno di instanziare direttamente Tag(anche perchè non puoi) ma, attraverso il metodo getSpacializedTag, gli passi come argomento la stringa <bla bla bla> , e istanzia uno dei 4 tag =)

io la vedo così..spero di non dire boiate

Nikola88
Essendo il metodo getSpec... statico puoi chiamarlo senza instanziare la classe.

Black D.
Salve a tutti, una domanda su getSpec..
Oltre alla classe Tag che contiene il metodo astratto updateStatistics (e che la rende astratta e quindi non istanziabile) anche le sottoclassi Structural, Link, Presentation e Other presentano lo stesso metodo astratto. Quindi il metodo getSpec...come fa a restituire un'istanza corrispondente alla sottoclasse (se nemmeno queste possono essere istanziate?). Scusate la domanda forse stupida, ma non ne vengo a capo.

Jaky
solo Tag è astratta e non può essere istanziata, ma le sottoclassi si. in esse devi fornire l'implementazione del metodo astratto.....percui il metodo nn dovrà essere dichiarato astratto dentro le sottoclassi

Black D.
Che fesso, e si che era anche scritto sul progetto.
Allora tutto (o quasi) si risolve.
Gazie 1000 jaky

Pupino
Avrei una domanda...
Il costruttore della classe Tag deve istanziare un oggetto della classe nel caso in cui la stringa passata descriva un tag ben formato, altrimenti sollevare un'eccezione.

Il metodo getSpecializedTag(String t) analizza la stringa passata come argomento, nel caso la stringa contenga la descrizione di un tag ben formato tale metodo crea un'istanza di una sottoclasse di Tag (adeguata in base alla descrizione del tag).

E' corretto allora se io nel costruttore richiamo il metodo getSpecializedTag? Senza quindi istanziare un oggetto della classe Tag ma istanziando direttamente un oggetto della sottoclasse adeguata...

Perchè non capisco il senso di dover avere un oggetto di tipo Tag, quando per poter analizzare il documento, contare i tag ecc ho bisogno di oggetti che mi rappresentano la tipologia dei tag...

Nikola88
LA comodità di avere un oggetto di un sub-Tag è comodo perchè chiami una sola volta updateStatistics e in base alla classe in cui è istanziato l'oggetto va a prendere il suo update e ad aggiornare statisticscollector. In questo modo non devi fare ogni volta la differenza tra i vari casi e chiamare 6 diversi updateStatistics

Jaky
Originally posted by Pupino


Perchè non capisco il senso di dover avere un oggetto di tipo Tag, quando per poter analizzare il documento, contare i tag ecc ho bisogno di oggetti che mi rappresentano la tipologia dei tag...


Bè ma java e i linguaggi orientati agli oggetti, proprio su questo si basano:
l'avere una classe generica Tag, dove specifici variabili, costruttori e metodi, è comodissimo, perchè questi non dovranno essere riscritti in tutte le sottoclassi, ma saranno ereditati e/o richiamarli tramite "super".
Nelle sottoclassi specificherai solo quello che le distingue le une dalla altre =)

Ciao

Jaky
Originally posted by Nikola88
....e chiamare 6 diversi updateStatistics


perchè 6? :? sn 4 le sottoclassi

Nikola88
ho detto un numero a caso... quando postavo nn avevo il testo sottomano

miky_stardust
scusate la domanda :oops: ma non ho capito una cosa: quando si lancia l'eccezione MalformedTagException, il programma deve continuare la sua esecuzione fino alla fine elencando tutti gli errori che ha trovato nel testo, oppure bloccare il programma? :?

Jaky
nono..devi segnarlalo....lo dice alla pagina 8 nella classe ValidationResult =)
per ora non ho idea di come però :S

ciao

miky_stardust
eh infatti, quando lancio un eccezione il programma mi si blocca... dovrò capirlo anche io! grazie mille jaky ^__^

ziplo
come si fa a impedire di istanziare una classe(richiesta delle sottoclassi di tag) ???cioè se noi creiamo la classe dovremo creare un costruttore ma è impossibile impedire di istanziare la classe se la costruisci...aiuto!|!!!!!!!!!!!!!!

xbx12
ma scusate, nella classe Tag nel metodo statico getSpecTag. Ma io,dopo aver fatto i controlli necessari, posso creare(dentro la classe Tag qundi) un tag per esempio strutturale?
aiuto!

Black D.
Ps per tutti.
Se avete problemi nella creazione del TagStack, sul libro (2°edizione) c'è spiegato bene come procedere ad implementare una generica classe Stack di oggetti (nel nostro caso Tag). E' da pag 518 a 521. E' molto ben fatta.

Jaky
Originally posted by ziplo
come si fa a impedire di istanziare una classe(richiesta delle sottoclassi di tag) ???cioè se noi creiamo la classe dovremo creare un costruttore ma è impossibile impedire di istanziare la classe se la costruisci...aiuto!|!!!!!!!!!!!!!!


"impediere di istanziare una classe" significa che devi impedire che venga creato una istanza di quella determinata classe, es.

il getSpecializedTag( string t) istanzia una delle sottoclassi, a seconda appunto della stringa che gli passi

se passi <a href...> istanzia un linkTag
se passi <h1> un StructuralTag ecc

poi però nel costruttore delle varie sottoclassi, devi dire per quali motivi non è possibile creare l'oggetto...es se dentro <a href...> nn ci sono attributi con rispettivi valori...o se il tag strutturale ha come numero < 1 o >6 ,bisogna lanciare l'eccezione MalformedTag

spero di aver spiegato =)

Jaky
Originally posted by xbx12
ma scusate, nella classe Tag nel metodo statico getSpecTag. Ma io,dopo aver fatto i controlli necessari, posso creare(dentro la classe Tag qundi) un tag per esempio strutturale?
aiuto!


non è che la crei dentro...semplicemente dici "istanzia un oggetto di questo tipo" , poi il crearlo ci pensa la sottoclasse

ufficiale86
Ciao ragazzi qualcuno x caso nel progetto ha usato i tipi enumerabili???Se si dove???grazie ciaociao:D

ufficiale86
Ciao ragazzi qualcuno x caso nel progetto ha usato delle variabili di tipi enumerativi???Se si dove???grazie ciaociao:D

Black D.
Credo che il vero problema sia come estrapolare i tag (o meglio le stringhe che diventeranno tag) da Htmlpage.
Una volta creato lo stream inizia a diventare complicato ricavarsi i tag da una riga del documento html (o dalla riga unica rappresentante tutte le righe del documento). Se si usa StringTokenizer si rischia di estrapolare dati non corretti. Per es. se si imposta come delim lo spazio ' ' ci si incasina con i token ricavati. Se invece si inserisce come delim '>' e '<' i token ricavati non é detto che siano tag, potrebbero essere testi tra i tag.

Voi come pensate di risolvere il problema?
a me é venuto in mente di far analizzare una stringa tramite un ciclo for, memorizzare la posizione dei simboli < e > in un array di tipo int e successivamente con substring estrapolare i tag usando le posizioni memorizzate.
Un po' complicato ma credo che funzioni (devo provare).

Nostrills
Originally posted by Black D.
Se invece si inserisce come delim '>' e '<' i token ricavati non é detto che siano tag, potrebbero essere testi tra i tag.

far analizzare una stringa tramite un ciclo for, memorizzare la posizione dei simboli < e > in un array di tipo int e successivamente con substring estrapolare i tag usando le posizioni memorizzate.
Un po' complicato ma credo che funzioni (devo provare).


il problema del fatto che < e > possano essere parte del testo e non apertura e chiusura dell'intestazione del tag rimane...

Jaky
è la parte + easy secondo me..saranno 15 righe di algoritmo a dir tanto,
consiglio di spulciarvi bene i metodi ( ne bastano 4) presenti dentro la classe String, lì c'è tutto il necessario =) poi se nel tuo caso funziona..benone...le strade sono molte..l'importante è ottenere il risultato ;)

Io non capisco perchè è necessario pulire un tag tipo
<a href = "www.unimi.it"> cioè..perchè????

ok non mi costa nulla farlo...ma a quale scopo?

xbx12
la classe Tag è astratta?se si mi potreste dare una breve spiegazione...perchè nel progetto c'è scritto "poter istanziare un elemento della classe TAG"!e se fosse astratta nn lo potremmo fare,o sbaglio?

Jaky
è gia stato spiegato nelle pagine precedenti, consiglio a tutti di leggerle prima di fare domande già poste.

cmq..."poter istanziare bla bla" si riferisce al metodo getSpecializedTag, che si occupa di istanziare oggetti delle varie sottoclassi, infatti come dici tu essendo astratta non puoi istanziarla, ma con getSpe lo puoi fare

Supernick
il problema del fatto che < e > possano essere parte del testo e non apertura e chiusura dell'intestazione del tag rimane


Ho gia controllato a riguardo, per fare il"<" e ">" l'HTML utilizza dei codici diversi....quindi < e > sono solo nei tag

xbx12
quindi è astratta la classe Tag? SI o NO (SENZA SPIEGAZIONI!!!!!!)

Black D.
@ xbx12 si; la classe Tag é astratta; le sottoclassi no.

@jaky effettivamente ripulire una stringa tipo
<a href = "www.unimi.it"> non lo trovo molto sensato.... anche perché senza spazi il nome del tag non sarebbe più a bensi tutta la stringa (in quanto il nome del tag deve terminare con uno spazio oppure / oppure >. Quindi definire lo stesso tag risulterebbe + complicato.....almeno credo!

Echoes
ma nella definizione dello StatistcCollector è meglio mettere un array o piu variabili per definire il campo che memorizzerà i TagStrutturali?

Jaky
Originally posted by Black D.
@ xbx12 si; la classe Tag é astratta; le sottoclassi no.

@jaky effettivamente ripulire una stringa tipo
<a href = "www.unimi.it"> non lo trovo molto sensato.... anche perché senza spazi il nome del tag non sarebbe più a bensi tutta la stringa (in quanto il nome del tag deve terminare con uno spazio oppure / oppure >. Quindi definire lo stesso tag risulterebbe + complicato.....almeno credo!


boooh...

Jaky
Originally posted by Echoes
ma nella definizione dello StatistcCollector è meglio mettere un array o piu variabili per definire il campo che memorizzerà i TagStrutturali?



io fatto array

Nostrills
Originally posted by Supernick
Ho gia controllato a riguardo, per fare il"<" e ">" l'HTML utilizza dei codici diversi....quindi < e > sono solo nei tag


bene un problema in meno...

Black D.
@ jaky
Ripensandoci ripulire la stringa sarebbe comodo DOPO aver recuperato il nome. La sottostringa a partire dallo lo spazio dopo il nome fino alla fine (eccetto>) della stringa risulterebbe comodo averla senza spazi, cosi da recuperare valore e attributo velocemente conoscendo solo la posizione dell' "=" (ovviamente se ci sono questi valori).
La classe String mette a disposizione direttamente un metodo che ripulisce una stringa da tutti gli spazi vuoti....

Black D.
Inoltre controllando le API direttamente dal sito ufficiale http://java.sun.com/reference/api/index.html
ho trovato nella classe String un altro metodo che permette MOLTO VELOCEMENTE di ricavarsi tutti i tag da una stringa (x HTMLPAGE). Basta saper usare le regex (regular expression).

Jaky
nn so manco cosa siano -_-

Black D.
Dai un occhio al metodo split. Potrebbe essere molto utile! In questi gg provo e poi vi dirò

Lorux
raga io ho finito il prgoetto,la documentazione secondo voi come deve essere impostata?

Jaky
Originally posted by Black D.
@ jaky
Ripensandoci ripulire la stringa sarebbe comodo DOPO aver recuperato il nome. La sottostringa a partire dallo lo spazio dopo il nome fino alla fine (eccetto>) della stringa risulterebbe comodo averla senza spazi, cosi da recuperare valore e attributo velocemente conoscendo solo la posizione dell' "=" (ovviamente se ci sono questi valori).
La classe String mette a disposizione direttamente un metodo che ripulisce una stringa da tutti gli spazi vuoti....


anche qui...l'utilità di recuperare il nome del tag? ci sono 4 casi di tag, mica 100.

si ok, per istanziare poi dovrò dirgli il nome del tag..ma non credo che cambi molto dirgli

se nometag= a -->istanziaLikTag

oppure

se il tag inizia così <a || </a --> istanziaLinkTag

mah!

Jaky
Originally posted by Lorux
raga io ho finito il prgoetto,la documentazione secondo voi come deve essere impostata?


ti stimo e invidio allo stesso tempo :-D:sad:

boh...chiama malchiodi domani in ufficio e fattelo dire :D, o scrivi mail

visto che hai finito, volevo cheiderti una cosa:

come ti sei comportato con i valori degli attributi dei tag?
hai usato hashtable o qualcosa del genere? sai, per la verifica se c'è il valore o cose così

oppure semplicemente hai detto: se non c'è nulla dopo l'=, allora il tag è malformato..

grazie :)

raga io nn capisco quanti tipi di controlli vadano fatti sui valori degli attributi..

1) se c'è
2) se dentro le virgolette non c'è nulla?
3) se nn han dimenticato delle virgolette?

boooh

ufficiale86
Ciao raga scusate una cosa ma come avete fatto la classe TagStack???x utilizzare i metodi devo usare x forza un oggetto di tipo TagStack...vuoi come avete fatto??grazie mille:D

Jaky
basta che, nel momento in cui devi vedere se il documento è bilanciato, ovvero con i metodi dello stack, crei prima un oggetto di tipo TagStack stat= new TagStack();

a quel punto richiamerai i metodi su stat. :)

Jaky
Originally posted by Jaky

come ti sei comportato con i valori degli attributi dei tag?
hai usato hashtable o qualcosa del genere? sai, per la verifica se c'è il valore o cose così

oppure semplicemente hai detto: se non c'è nulla dopo l'=, allora il tag è malformato..

grazie :)

raga io nn capisco quanti tipi di controlli vadano fatti sui valori degli attributi..

1) se c'è
2) se dentro le virgolette non c'è nulla?
3) se nn han dimenticato delle virgolette?

boooh


c'è nessuno che sa risp?

ziplo
ma scusate una cosa,premetto che io non ho mai programmato quindi se per voi questa domanda è stupida per me puo essere vitale.Io per compilare uso java editor un semplice programmino;ho creato varie classi su file differenti come faccio a farli interagire tra loro nella compilazione?????cioè Tag e StructuralTag e StatisticsCollector ad esmpio?????
grazie

Jaky
semplice
ti scarici ECLIPSE :D è il programma per eccellenza per programmare in java. poi importi tutti i file e ti fa automaticamente tutto

ufficiale86
Raga ho 1piccolo problema.......nel metodo validate di HTMLPage ho verifica se il file ke carico ha i tag giusti...però ho usato x ora le stringe(ho verificato se le stringe del file sn giuste e non i tag come oggetti!)....come faccio a creare degli oggetti di tipo Tag nella classe HTMLPage??nn me lo fa fare....sto lavorando con Eclipse e non mi fa fare i nuovi oggetti di tipo Tag.....come avete fatto voi nel metodo getStatistics() della classe HTMLPage a considerare uno ad uno ogni tag e in seguito aggiornare StatisticsCollector???grazie a tutti:D:D:D

Jaky
non puoi fare nuovi oggetti di tipo tag, perchè è astratta
per crearli devi fare Tag t = new PresentationTag(String s);

ufficiale86
Originally posted by Jaky
non puoi fare nuovi oggetti di tipo tag, perchè è astratta
per crearli devi fare Tag t = new PresentationTag(String s);


Scusa ma x creare 1nuovo oggetto di tipo PresentationTag come faccio???dove l'hai dichiarato??è 1costruttore strano...nn c'è sulle indicazioni del prof

ufficiale86
Originally posted by Jaky
non puoi fare nuovi oggetti di tipo tag, perchè è astratta
per crearli devi fare Tag t = new PresentationTag(String s);


Scusa ma x creare 1 nuovo oggetto di tipo PresentationTag come faccio???dove l'hai dichiarato??è 1costruttore strano...nn c'è sulle indicazioni del progetto......e poi questo "nuovo" tag dove l'hai creato??scusa ma nn ho capito bene....grazie mille per la disponibilità:D:D

ufficiale86
scusa errore mio!PresentationTag è 1sottoclasse d Tag perdono ho capito male!ora provo dai grazie mille

ufficiale86
Raga scusate ma nella classe HTMLPage come fate e dividere ogni tag che ci sono nel documento HTML intero??come fare a creare i costruttori nuovi dei vari sottotag in quella classe??a me nn me li crea.....

ziplo
come si mettono le eccezioni(non le ho capite molto) in HTMLPAge?
cioè se lancio un eccezione o se la intercetto poi posso fare il return?????sono un po bloccato nel metodo validate precisamente......

aiutoooooooooo

miky_stardust
Originally posted by ufficiale86
Raga scusate ma nella classe HTMLPage come fate e dividere ogni tag che ci sono nel documento HTML intero??come fare a creare i costruttori nuovi dei vari sottotag in quella classe??a me nn me li crea.....


per dividere i tag devi tagliare la stringa su < e > e poi passarla a getSpec...
i costruttori sono ognuno nella sua classe a seconda del tag (es: il costruttore di LinkTag sarà nella classe LinkTag) ma sarà il getSpec che, a seconda della stringa che gli passi, richiama il costruttore appropriato!

Black D.
In pratica (se ho capito) tutto il progetto é ad "incastro".
Si inizia con Tag e i sotto tag, che verranno inizializzati dal metodo statio getSpec...;
Le sottoclassi avranno il metodo "non più astratto" updateStatistic che userà vari contatori (nei costruttori dei sotoTag).
Htmlpage sarà il "contenitore" delle stringhe da passare a getSpec per inizializzare i sottotag, poi updateStatistic dei tag e metodo validate, che userà il Tagstack per verificare se il documento é bilanciato o meno. Poi getStat per aggiornare lo StatisticCollector (con un uso per es. di un array per memorizzare i contatori dei singoli Tag). Infine Validationresult....uff. Più o meno dovrebbe essere cosi....CORREGGETEMI SI HO SCRITTO CRETINATE!

miky_stardust
si, anche per me è sostanzialmente cosi!!!
(tranne per l'array dei contatori, a cui non avevo proprio pensato e che avevo risolto con una decina di variabili diverse :shock: )

Powered by: vbHome (lite) v4.1 and vBulletin v2.3.1 - Copyright ©2000 - 2002, Jelsoft Enterprises Limited
Mantained by dsy crew (email) | Collabora con noi | Segnalaci un bug | Archive | Regolamento |Licenze | Thanks | Syndacate