![]() |
Pages (2): [1] 2 » Show 150 posts per page |
.dsy:it. (http://www.dsy.it/forum/)
- Fondamenti di architettura e programmazione (http://www.dsy.it/forum/forumdisplay.php?forumid=234)
-- nuovo progetto : consigli (http://www.dsy.it/forum/showthread.php?threadid=33437)
nuovo progetto : consigli
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
Bisogna caricarli attraverso degli appostiti metodi. Non è così strano come appare.
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..
il file html in sè è un qualsiasi file html. quando avvii il programma gli dici quale analizzare
__________________
Nel Software esiste sempre almeno un Bug, generalmente è localizzabile tra la tastiera e la sedia
http://img92.imageshack.us/img92/9409/firmadx9qiya9.gif
è 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..
si...penso anch'io sia come dice Echoes....
Non lo passerò mai FAP!!!
__________________
Vendo Manga, libri Com. Dig., riviste e libri per suonare chitarra acustica ed elettrica
Non tutti i mali vengono per nuocere, alcuni vengono anche per uccidere!
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...
scusami..pagina 580, ma di quale edizione?
seconda edizione
prima edizione:
Gli stream
strem di caratteri
gerarchie reader...
classe file
stream di byte
ecc
questa roba qui no?
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....
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....
ok thanks...allora cercherò di usare tutto quello che posso
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
)
__________________
Sono tanti i nomi che hanno fatto grande l'arte della musica: Verdi, Rossini, Nerone, Bach, Offenbach, Wagner, Offenwagner e Toscanini, l'inventore dei sigari piccoli.
[Bergonzoni Alessandro]
Originally posted by Giuffre
.....Secondo me bisogna usare il Polimorfismo su tutte le classi perchè è nostro amico.....
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 >
Credo voglia dire che se li ordini in ordine alfabetico fai prima con i controlli di validità
__________________
Nel Software esiste sempre almeno un Bug, generalmente è localizzabile tra la tastiera e la sedia
http://img92.imageshack.us/img92/9409/firmadx9qiya9.gif
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..
Mi sembra una buona idea!! Adesso ci penso
__________________
Nel Software esiste sempre almeno un Bug, generalmente è localizzabile tra la tastiera e la sedia
http://img92.imageshack.us/img92/9409/firmadx9qiya9.gif
scusate...qualcuno che utilizza vecchie edizioni del libro, sa dov'è quella pagina internet di pighizzini in cui ci sono tutti gli errori di battitura?
Ma secondo voi perchè consiglia di pulire la stringa dagli eventuali spazi bianchi nella classe Tag ?
grazie
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
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?
Penso che lo stack tuo lo puoi usare tranquillamente. Lui specifica limitazioni solo nella java.util.Stack ,quindi è una soluzione accettabile ....
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
Originally posted by ziplo
Ma secondo voi perchè consiglia di pulire la stringa dagli eventuali spazi bianchi nella classe Tag ?
grazie
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 ho usato .read() del fileinputstream che legge un carattere alla volta e mette tutto in una stringa sola,poi lavoro su quella
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.
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())
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();
code:
FileReader doc = new FileReader("page.html"); BufferedReader bfr = new BufferedReader(doc); html = bfr.read();
__________________
Kantina27 - Punk Rock
MySpace Profile
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();
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..
__________________
Kantina27 - Punk Rock
MySpace Profile
non saprei..magari prova a darti una guardata alle API's di BufferedReader che magari trovi qualche metodo utile...
Invece di complicarti la vita leggi linea x linea e "attaccala" a una stringa di supporto
si potrebbe essere una buona soluzione anche quella....
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...
__________________
Kantina27 - Punk Rock
MySpace Profile
Secondo me è una delle più facili. Classifica il Tag e lo manda "giù" alla relativa sottoclasse in base al tipo
__________________
Nel Software esiste sempre almeno un Bug, generalmente è localizzabile tra la tastiera e la sedia
http://img92.imageshack.us/img92/9409/firmadx9qiya9.gif
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è?
Metti che non trova il file...
__________________
Kantina27 - Punk Rock
MySpace Profile
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.......
ma creando il metodo astratto updateStatistics nella classe tag anche la classe diventa astratta e non puo quindi essere istanziata?
Che novità.....
__________________
Nel Software esiste sempre almeno un Bug, generalmente è localizzabile tra la tastiera e la sedia
http://img92.imageshack.us/img92/9409/firmadx9qiya9.gif
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?
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?????????????????????????????
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
Essendo il metodo getSpec... statico puoi chiamarlo senza instanziare la classe.
__________________
Nel Software esiste sempre almeno un Bug, generalmente è localizzabile tra la tastiera e la sedia
http://img92.imageshack.us/img92/9409/firmadx9qiya9.gif
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.
__________________
Bell'idea iscriversi all'università a 30 anni suonati....
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
Che fesso, e si che era anche scritto sul progetto.
Allora tutto (o quasi) si risolve.
Gazie 1000 jaky
__________________
Bell'idea iscriversi all'università a 30 anni suonati....
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...
__________________
PUPINO'S VIDEO
FRANK JAY
UN BLOG
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
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...
Originally posted by Nikola88
....e chiamare 6 diversi updateStatistics
ho detto un numero a caso... quando postavo nn avevo il testo sottomano
__________________
Nel Software esiste sempre almeno un Bug, generalmente è localizzabile tra la tastiera e la sedia
http://img92.imageshack.us/img92/9409/firmadx9qiya9.gif
scusate la domanda 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?
nono..devi segnarlalo....lo dice alla pagina 8 nella classe ValidationResult =)
per ora non ho idea di come però :S
ciao
eh infatti, quando lancio un eccezione il programma mi si blocca... dovrò capirlo anche io! grazie mille jaky ^__^
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!|!!!!!!!!!!!!!!
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!
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.
__________________
Bell'idea iscriversi all'università a 30 anni suonati....
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!|!!!!!!!!!!!!!!
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!
Ciao ragazzi qualcuno x caso nel progetto ha usato i tipi enumerabili???Se si dove???grazie ciaociao
Ciao ragazzi qualcuno x caso nel progetto ha usato delle variabili di tipi enumerativi???Se si dove???grazie ciaociao
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).
__________________
Bell'idea iscriversi all'università a 30 anni suonati....
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).
è 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?
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?
è 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
il problema del fatto che < e > possano essere parte del testo e non apertura e chiusura dell'intestazione del tag rimane
quindi è astratta la classe Tag? SI o NO (SENZA SPIEGAZIONI!!!!!!)
@ 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!
__________________
Bell'idea iscriversi all'università a 30 anni suonati....
ma nella definizione dello StatistcCollector è meglio mettere un array o piu variabili per definire il campo che memorizzerà i TagStrutturali?
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!
Originally posted by Echoes
ma nella definizione dello StatistcCollector è meglio mettere un array o piu variabili per definire il campo che memorizzerà i TagStrutturali?
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
@ 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....
__________________
Bell'idea iscriversi all'università a 30 anni suonati....
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).
__________________
Bell'idea iscriversi all'università a 30 anni suonati....
nn so manco cosa siano -_-
Dai un occhio al metodo split. Potrebbe essere molto utile! In questi gg provo e poi vi dirò
__________________
Bell'idea iscriversi all'università a 30 anni suonati....
raga io ho finito il prgoetto,la documentazione secondo voi come deve essere impostata?
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....
Originally posted by Lorux
raga io ho finito il prgoetto,la documentazione secondo voi come deve essere impostata?
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
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.
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
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
semplice
ti scarici ECLIPSE è il programma per eccellenza per programmare in java. poi importi tutti i file e ti fa automaticamente tutto
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
non puoi fare nuovi oggetti di tipo tag, perchè è astratta
per crearli devi fare Tag t = new PresentationTag(String s);
Originally posted by Jaky
non puoi fare nuovi oggetti di tipo tag, perchè è astratta
per crearli devi fare Tag t = new PresentationTag(String s);
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 errore mio!PresentationTag è 1sottoclasse d Tag perdono ho capito male!ora provo dai grazie mille
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.....
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
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.....
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!
__________________
Bell'idea iscriversi all'università a 30 anni suonati....
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 )
Secondo me il progetto si potrebbe riassumere in un sistema molto più semplice
code:
public class HTMLPage { public HTMLPage (String file) { System.out.println("html is not well formed"); } }
__________________
Nel Software esiste sempre almeno un Bug, generalmente è localizzabile tra la tastiera e la sedia
http://img92.imageshack.us/img92/9409/firmadx9qiya9.gif
ciao a tutte/i,
anch'io ho un problemino col maledetto metodo getSpec... :
che tipo deve restituire?
un tipo Tag?
...mi sto scervellando per capire come implementarlo nella classe Tag!
Originally posted by 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)
Originally posted by Lukkei
ciao a tutte/i,
anch'io ho un problemino col maledetto metodo getSpec... :
che tipo deve restituire?
un tipo Tag?
...mi sto scervellando per capire come implementarlo nella classe Tag!
...finalmente ho capito e risolto!
Ragazzi scusate ma come avete gestito i Tag ben bilanciati come ad esempio <br/>????
Ad esempio quando leggete da file con il metodo getSpecializedtTag(String t) controlla di che tipo di tag si tratta e restituisce un sottotag specifico.....nel caso dei tag ben bilanciati di apertura e di chiusura come <br/> come li avete gestiti???grazie mille in anticipo
Raga ho 1altra domanda ke mi sta distruggendo...quando leggo i tag dal file in HTMLPage li metto in 1array di Tag....come faccio a sapere quanto è grande questo array??mica posso metterci 1numero a caso tipo 10000....come posso fare??voi come avete fatto a risolvere il problema??grazie mille
ciao....una domanda...nella classe astratta Tag il costruttore è nullo?o lo posso definire io?
Raga ho 1altra domanda ke mi sta distruggendo...quando leggo i tag dal file in HTMLPage li metto in 1array di Tag....come faccio a sapere quanto è grande questo array??mica posso metterci 1numero a caso tipo 10000....come posso fare??voi come avete fatto a risolvere il problema??grazie mille
Ciao Raga,
se non dovessi riuscire a finire sto progetto in tempo ci sarebbe disposto qualcuno a inserirmi nel suo.
Spero che qualcuno mi possa venire incontro.
Scusatemi ma sono un po' scoraggiato e anche in difficoltà e non so se riuscirò a terminarlo.
ciao!
io non ho capito una cosa:
il testo dice che nella classe Tag bisogna "poter determinare il valore associato a un attributo"...
ma in che senso?...memorizzarlo nella sottoclasse LinkTag?
grazie ciao ciao
Che tipo di controlli effettuate voi per gli attributi? Il progetto mi pare che non specifichi condizioni precise, gli attributi in generale possono avere anche valore vuoto mi pare...Io assumo solo che nome e valore degli attributi siano stringhe qualsiasi, con l'unica condizione è che il nome non contenga spazi, " e =, mentre il valore non contenga il carattere ".
__________________
Msn Messenger:
bellarinco@hotmail.com
penso che sia sufficiente controllare che dopo "href=" ci siano le due virgolette " ", si può essere vuoto, ma le virgolette penso siano necessarie....esempio
<a href="_"> - consentito
<a href=_> - non consentito
credo così...
OK però voi quale carattere avete usato per la ricerca dell'attributo?
Ad esempio una cosa fatta in questo modo nn funziona:
StringTokenizer stf=new StringTokenizer(stringa,""")
voglio usare il carettere delimitatore " però nn me lo da,lo prende come virgoletta..come avete fatto voi???grazie mille
"\""
Grazie mille grandissimo!ciao buon lavoro
Ciao raga voi cosa avete messo nel costruttore della classe StatisticsCollector???e poi voi avete creato 1metodo set e get x aggiornare la statistica???grazie mille
io ho fatto un costruttore senza argomenti che setta tutti i contatori a zero.
per aggiornare le statistiche credo si debba utilizzare l'updateStatistics delle varie sottoclassi di Tag...
ciao ciao
Piccola domandina:
come avete gestito l'instanziamento della classe "otherTag" ?
...ok per la tokenizzazione su "<>\n\t " (o non è ok?!?)
ma poi come fate a classificare un otherTag rispetto, per esempio, ad una riga di testo che tag non è?
Grazie per l'attenzione
Ciao ragazzi voi come avete fatto a dividere i tag dalla stringa ke contiene tutti i tag uno dietro l'altro ???Io sto impazzendo nn riesco...grazie mille a tutti!
Intendi una volta estratto il contenuto della pagina html?
Beh potresti usare un charAt() per scorrere l'intera stringa con un for; (1) se il carattere alla posizione i-esima è uguale a '<' , utilizza una stringa come buffer temporaneo in cui salvi tutti i caratteri successivi.
(2) Quando invece incontri '>' inserisci la stringa buffer appena composta in un vettore o la struttura dati da te scelta (il contenitore di tutti i tag), azzerra il buffer, e riprendi dal punto (1).
Altrimenti potresti usare le regexp.Il risultato è lo stesso!
Infatti usado il metodo split di String e una regex si ottiene la stessa cosa, ed é MOLTO + veloce da fare. Infatti le parti "splittate" vengono messe in automatico in un array di string. Successivamente basta richiamarli con un ciclo for e fargli fare tutti i passaggi del validate.
L'importate é saper inserire una regex adeguata.....cosa non troppo semplice, ma in rete si trova di tutto.
__________________
Bell'idea iscriversi all'università a 30 anni suonati....
Si split è la soluzione migliore!
Una domanda : ma conviene controllare PRIMA che il documento sia bilanciato e successivamente in un nuovo ciclo istanziare i vari oggetti dei relativi tag con getSpec(), oppure fare tutto in un unico passaggio?Sto facendo confusione.. :S
Io ho fatto tutto tramite validate. In pratica io ho estrapolato tutti i tag e messi nell'array (con split), poi con for prendo tutte le posizioni dell'array e una per una le analizzo: faccio il getSpec, faccio l'updateStat, e metto il tag nella pila. Poi continuo (sempre con il ciclo for di prima) e se il nuovo tag é di chiusura tiro fuori dalla pila il tag precedente e lo confronto con questo di chiusura. Se hanno lo stesso nome (ho creato un metodo apposta per velocizzare il tutto) li scarto, altrimenti rimetto nella pila il precedente tag e aggiungo in cima alla pila il nuovo tag, ecc ecc. Ovviamente con tutte le stramaledette eccezioni....che sono la cosa + incasinata da gestire correttamente..... E' piuttosto complicato da spiegare ma spero di esserci riuscito :-)
__________________
Bell'idea iscriversi all'università a 30 anni suonati....
Raga ho un problema...quando voi richiamate il metodo pop() della classe TagStack richiamate un Tag della lista giusto?!!se io faccio ad esempio l'istruzione Tag c=x.pop()_ la variabile x è il mio TagStack_ metto il primo Tag della lista in c....ma non potrei in teoria xkè Tag è astratta e nn potrei creare 1elemento di una classe astratta...voi come avete fatto in HTMLPage a richiamare il primo Tag della lista con il metodo pop()????grazie millesiete dei grandi
oh madonna incoronita...
scusami non voglio essere scortese...ma è + il tempo che passi a fare domande "banali" che quello che ci metteresti a leggerti 100 pagine sul come si implementano le classi....in un paio d'ore capiresti un fracco di cose, te lo giuro..non è per fare la ramanzina, sn cose che all'orale son chieste al 100%.....però sn buono..risposta:
Tag è si astratta, ma nulla ti vieta di fare assegnazione di sottotipo verso supertipo, quindi come nel caso del getsSpecialized facevi Tag t = getSpecialized(stringa), puoi benissimo fare Tag t = lista.pop()
Ciao
Originally posted by Black D.
Io ho fatto tutto tramite validate. In pratica io ho estrapolato tutti i tag e messi nell'array (con split), poi con for prendo tutte le posizioni dell'array e una per una le analizzo: faccio il getSpec, faccio l'updateStat, e metto il tag nella pila. Poi continuo (sempre con il ciclo for di prima) e se il nuovo tag é di chiusura tiro fuori dalla pila il tag precedente e lo confronto con questo di chiusura. Se hanno lo stesso nome (ho creato un metodo apposta per velocizzare il tutto) li scarto, altrimenti rimetto nella pila il precedente tag e aggiungo in cima alla pila il nuovo tag, ecc ecc. Ovviamente con tutte le stramaledette eccezioni....che sono la cosa + incasinata da gestire correttamente..... E' piuttosto complicato da spiegare ma spero di esserci riuscito :-)
non c'è nessuno che mi può aiutare...
non mi è ben chiaro come si fa ad inviare il file...cioè spiego.io metto il percorso del file cm argomento dell'oggetto HTMLPage che creo nel main..ma ovviamente il percorso cambierà sul computer del prof..quindi come avete fatto voi????cioè si può mettere solo il nome del file che poi verà messo nella cartella che invieremo e se si come?
grazie
ma il main se lo fa il prof....no?
@ Lukkei,
sinceramente visto che nel getStat di HTMLPage se il documento non è bilanciato NON dice di dover restituire i contatori dei tag....secondo me basta conteggiare solo i tag di apertura (o solo quelli di chiusura) e i tag Aprichiudi.
Infatti per essere bilanciato una pagina html deve avere sia un tag di apertura che uno di chiusura e visto che i contatori vengon fuori solo quando il documento è bilanciato basta contare solo quelli di apertura e quelli aprichiudi.
Per l'update non credo che cambi molto se fai l'aggiornamento prima di usare la pila o durante, l'importante è che si aggiorni correttamente il contatore del tag definito.
__________________
Bell'idea iscriversi all'università a 30 anni suonati....
Volevo chiedere una cosa a chi ha usato le regex:
come l'avete fatta?
In rete girano parecchie regex, alcune ottime e altre meno..
ps. trovato soluzione migliore con un Matcher, meglio di split!
__________________
Bell'idea iscriversi all'università a 30 anni suonati....
ragazzi ma si può usare un parser XML standard come DOM o SAX per analizzare
ogni stringa rappresentatnte un tag html...oppure Sun Java API for XML Parsing (JAXP)?????
__________________
You are what you know...
Ciao ragazzi ho bisogno di una mano!!!voi come avete fatto a cancellare nella classe TagStack il tag preso con il metodo pop() per verificare se è uguale a quello di chiusura???
mi creano dei problemi ad esempio se ci sono alla fine 3 tag di chiusura (es. </p></body></html> ) come faccio a cancellare il tag preso così posso usare quello ke sta prima?grassie
credo che facendo pop(), nel momento in cui il tag viene restituito, viene tolto dalla pila!
Esatto!
__________________
Bell'idea iscriversi all'università a 30 anni suonati....
Salve a tutti
Ho una domanda che può sembrare banale ma per me sarebbe vitale da capire (non sono per niente bravo in java e sono bloccato con il progetto) confido in qualche anima pia =D
Non riesco a capire bene la logica di come incastrare i vari 'elementi' del progetto.
Io lancio il metodo validate dal documento html; se risulta bilanciato, eseguo getStatistics() (che a sua volta lancera getSpecialized tag e updateStatistics) per l'aggiornamento di statisticsCollector. Ma getStat va eseguito anche se il documento non risulta bilanciato? E come faccio a comporre i messaggi di errore o di successo a seconda dell'esito della validazione da passare a validationResult ? getStat deve stampare l'esito a video della validazione? e ultima cosa : come devo utilizzare quelle tre costanti definite in validationresult() ?
Aiuto ragazzi, sto andando in confusione, ne uscirò pazzo..se ci fosse qualcuno paziente che gentilmente potesse spiegarmi in modo semplice come far funzionare tra di loro i vari metodi mi salverebbe....
Grazie mille in anticipo!!!!!!!!
Prima di tutto non deve essere validate che esegue getStatistics ma il contrario... se leggi bene il progetto ti dice:
"l’implementazione di un metodo getStatistics, che, DOPO AVER ANALIZZATO il documento tramite il metodo validate, consideri a uno a
uno tutti i tag ivi contenuti e aggiorni lo stato di un’istanza della
classe StatisticsCollector"
Quindi il concetto é: viene lanciato il metodo getStatistics, in sto metodo la prima cosa che fai è eseguire this.validate() che ti torna il puntatore a un oggetto ValidationResult... tramite il codice registrato in sto oggetto sai cosa devi fare.
Cioè, se il codice è zero allora ripassi i vari tag e li conti (solo quelli di apertura e quelli di apertura/chiusura) usando il metodo updateStatistics del tag, tag per tag, e alla fine ti stampi il messaggio della validationResult, che corrisponde alla costante che avrai dichiarato nella classe (e che contiene le frasi in inglese di malchiodi), + gli esiti della StatisticsCollector che hai usato per contare (se ti fai un metodo toString ad hoc che elenca gli attributi come ha scritto malchiodi sei a cavallo....).
Se invece l'esito è negativo (1 o 2) allora semplicemente devi stampare sempre una delle frasi inglesi di malchiodi (costanti) e l'errore che si è scatenato (basta memorizzarlo da qualche parte, sarebbe la stringa dell'eccezione che ha scatenato tutto durante il metodo di validate())
Almeno io ho capito così... sinceramente anche io a leggere certe parti del progetto sono dovuto andare ad intuito eheh.
Originally posted by jonny86
Almeno io ho capito così... sinceramente anche io a leggere certe parti del progetto sono dovuto andare ad intuito eheh.
Ma il carattere > potrebbe essere presente nel valore di un attributo? Ad esempio:
<a nomeattributo="abc>123">
è un tag valido? Perchè in questo caso diventa più difficile individuare i limiti dei tag nel documento html.
__________________
Msn Messenger:
bellarinco@hotmail.com
non si scrive così perchè per mettere quel carattere non si scrive direttamente ma si fa attraverso il suo codice
__________________
Nel Software esiste sempre almeno un Bug, generalmente è localizzabile tra la tastiera e la sedia
http://img92.imageshack.us/img92/9409/firmadx9qiya9.gif
Grazie mille Jonny, sei stato molto chiaro!!buon lavoro a tutti
Originally posted by miky_stardust
idem, anche io in ben piu di una parte sono andata a intuito...
comunque, due domandine da cui non sono riuscita a venirne fuori:
1) noi dobbiamo solamente creare le classi, poi a fare un main funzionante ci penserà il prof per testare tutte le classi? (detto in altro modo, le nostre classi non dovrebbero stampare nulla a video, ma memorizzare all'interno delle variabili degli oggetti quelle frasi di malchiodi tipo "html is not well formed", giusto? correggetemi se sbaglio plaese!!!)
Originally posted by Jaky
io direi sbagliato..il prof deve poter vedere subito se gira o meno...
che senso avrebbe se no..e poi come fai a memorizzare il risultato di tutto il processo in delle variabili?
ciao nel metodo pop() della classe TagStack come faccio a cancellare il tag se è di chiusura....devo farlo io il metodo quindi come potrei implementarlo per cancellarlo???grazie mille per la mano ke mi state dando
Originally posted by miky_stardust
beh, ma non è scritto da nessuna parte che dev'essere stampato qualcosa a video, dice sempre "ritornare la stringa" o cose analoghe... io l'avevo intesto come il "return" dei metodi...
per memorizzarle nelle variabili si può, per esempio, costruire la classe ValidationResult in maniera che il suo costruttore accetti uno dei tre codici di controllo e una stringa con la descrizione dell'esito e li memorizzi dentro i suoi campi... così quando un oggetto di queli tipo viene ritornato da validate() continene tutto il necessario, anche se non viene stampato a video...
bohaltre opinioni in merito? se avete fatto un main, in che classe lo avete messo?
ciau e grazie!c![]()
Originally posted by danybyco
ciao nel metodo pop() della classe TagStack come faccio a cancellare il tag se è di chiusura....devo farlo io il metodo quindi come potrei implementarlo per cancellarlo???grazie mille per la mano ke mi state dando![]()
Sinceramente credo che il progetto non contempli anche un metodo main. Si devono "solo"creare le classi che verranno utilizzate da un main generico. L'importatne é che i sorgenti si possano compilare. Se controllate i vecchi progetti (space invaders per es) non c'é la classe main. Al limite la potete fare per testare il tutto e verificare che non esisano errori "logici".
Invece, per quel che riguarda la documetazione da allegare al progetto, secondo voi basta una spece di relazione su quello che si é fatto? E se si é usato Eclipse o altri editor java conviene segnalaro o evitare? Io il progetto lo avrei finito ma non so come comportarmi per la documentazione.....
__________________
Bell'idea iscriversi all'università a 30 anni suonati....
Originally posted by Black D.
Sinceramente credo che il progetto non contempli anche un metodo main. Si devono "solo"creare le classi che verranno utilizzate da un main generico. L'importatne é che i sorgenti si possano compilare. Se controllate i vecchi progetti (space invaders per es) non c'é la classe main. Al limite la potete fare per testare il tutto e verificare che non esisano errori "logici".
Invece, per quel che riguarda la documetazione da allegare al progetto, secondo voi basta una spece di relazione su quello che si é fatto? E se si é usato Eclipse o altri editor java conviene segnalaro o evitare? Io il progetto lo avrei finito ma non so come comportarmi per la documentazione.....
Perfetto. Grazie 1000.
Ciao
__________________
Bell'idea iscriversi all'università a 30 anni suonati....
All times are GMT. The time now is 05:08. | Pages (2): [1] 2 » Show all 178 posts from this thread on one page |
Powered by: vBulletin Version 2.3.1
Copyright © Jelsoft Enterprises Limited 2000 - 2002.