.dsy:it. Pages (7): « 1 [2] 3 4 5 6 » ... Last »
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)
-- [Laboratorio] Es. x il 28 - 11 (http://www.dsy.it/forum/showthread.php?threadid=7162)


Posted by citrus on 24-11-2003 19:11:

... poi un altra cosa:
perchè inizializzare l'array con 2000 posizioni che poi a scorrerle tutte ci si mette una vita.........
non sarebbe meglio definirlo così?

String[] dizionario = new String[stk.countTokens()];

così l'array si riempe dinamicamente di tante posizioni quante le parole inserite dell'utente......


Posted by citrus on 24-11-2003 19:19:

Originally posted by supernova
Raga, sono un po' in merda. Nel primo esercizio, quello della concatenazione delle stringhe, dice di usare setCharAt(). Ma che funzione ha?????
Mi sapete poi spiegare brevemente StringBuffer. Ho capito che è una stringa che si può modificare. Ma è giusto??? Grazie a tutti raga. Ciauz!


setCharAt serve per impostare un determinato carattere in una determinata posizione di una stringa (di tipo StringBuffer).
ha come argomenti (int, char) ovvero un intero che indica la posizione in cui si vuole inserire il carattere e il carattere in questione (char).

Pe l'esercizio 1 io ho creato due stringhe normali inserite dall'utente, poi ho creato un'istanza di StringBuffer e gli ho settato la lunghezza pari alla somma delle lunghezze delle due stringhe con l'istruzione
s3.setLength(s1.length() + s2.length());

a questo punto ho creato due cicli for che scorrono la prima e la seconda stringa carattere per carattere e che copiano il carattere alla posizione i nella stringa di destinazione (s3)

ex:
for (i=0;i<s1.length();i++)
s3.setCharAt(i,s1.charAt(i));

.....poi dovrai aggiunggere i caratteri della seconda stringa.....


Posted by foolish on 24-11-2003 19:50:

Originally posted by citrus
...si ma capisci che così cade lo scopo del programma......
l'array frequenze conterrà 156 posizioni (esattamente tante quante il numero di parole della stringa) tutte valorizzate a 1......
....
non è difficile porca.... però sono bloccato in questo punto sul ragionamento logico........



:nono:

"ascolta" se una parola viene trovata tramite il metodo sequenziale, la sua frequenza viene incrementata. Con un semplicissimo IF non viene poi aggiunta nell'array. E già presente!

Una frase di 156 parole obbligherà il pgm a riempire 156 posizioni nell'array solamente se ha 156 parole diverse.


CON UNA BIRRA DAVANTI SI PROGRMMA MEGLIO ! ! !


Per l'esercizio della concatenazione ricordatevi di fare la somma della prima stringa con quella della seconda più 1:

s3.setLength(s1.length() + s2.length() +1);

con s3 che è un'istanza StringBuffer
infatti quando si legano le due stringhe bisogna aggiungere tra una e l'altra un carattere spaziatore; altrimenti l'ultima parola della prima e la prima della seconda saranno attaccate.

__________________
The only way to discover the limits of the possible is to go beyond them into the impossible.
Arthur C. Clarke.


Posted by supernova on 24-11-2003 20:05:

Dai raga che ce la facciamo a farli!!!! Vi offro a tutti simbolicamente una bella Guinness :birrozza:

__________________
" So I Start The Revolution From My Bed ". Noel Gallagher


Posted by supernova on 24-11-2003 20:52:

Dai raga che ce la facciamo a farli!!!! Vi offro a tutti simbolicamente una bella Guinness :birrozza:

__________________
" So I Start The Revolution From My Bed ". Noel Gallagher


Posted by citrus on 24-11-2003 22:01:

...quasi mi vergogno!!!! :oops:

mi ero letteralmente fossilizzato su un pensiero stupido che non mi faceva andare avanti!
alla fine ho mollato tutto, ho messo un po' di musica e dopo aver dormito un oretta mi sono svegliato 5 minuti fa con l'illuminazione!
e adesso in 2 minuti funziona tutto cazzo!!!!!!!!!!! :pc:
e pensare che ho sclerato per 2 giorni!!!!! :wall:

alla fine hai ragione foolish, che sia una birretta o una dormita (anche se anche una bella ciulata non ci starebbe male :D ) l'importante quando ci si blocca è riavviare il sistema e riprovare, prima o poi la soluziona viene!!!

bella li!!!!!! :D :D :D :D

adesso direi che una birretta è d'obbligo!
salute!
:birrozza:


Posted by supernova on 24-11-2003 22:58:

Raga x quanto riguarda il primo esercizio, penso che l'errore che sto facendo sia nell'inizializzare StingBuffer, potete dirmi dove sbaglio??? Non ci sto più dentro. Mi stampa solo la seconda stringa!!!!


s1 = tastiera.readLine("Inserisci la prima stringa: ");
s2 = tastiera.readLine("Inserusci la seconda stringa: ");
...

video.print("La Stringa Concatenata e': "+s3);

__________________
" So I Start The Revolution From My Bed ". Noel Gallagher


Posted by citrus on 25-11-2003 10:17:

Originally posted by supernova
Raga x quanto riguarda il primo esercizio, penso che l'errore che sto facendo sia nell'inizializzare StingBuffer, potete dirmi dove sbaglio??? Non ci sto più dentro. Mi stampa solo la seconda stringa!!!!


s1 = tastiera.readLine("Inserisci la prima stringa: ");
s2 = tastiera.readLine("Inserusci la seconda stringa: ");

StringBuffer s3 = new StringBuffer ();
s3.setLength(s1.length() + s2.length() +1);

for (i=0;i<s1.length();i++) {
s3.setCharAt(i,s1.charAt(i)); }

for (i=0;i<s2.length();i++) {
s3.setCharAt(i,s2.charAt(i)); }

video.print("La Stringa Concatenata e': "+s3);



... per forza, perchè prima riporti la prima stringa e poi ci sovrascrivi la seconda....
nel secondo ciclo for devi cambiare la posizione in cui vai ad inserire i caratteri della seconda stringa:
infatti devono trovarsi nella posizione "i" ma dopo quelli inseriti nel primo ciclo quindi

for (i=0;i<s2.length();i++)
s3.setCharAt(i+s1.length() ,s2.charAt(i));

...
a me così funziona, prova un po' poi fammi sapere,
ciao
citrus

:D


Posted by supernova on 25-11-2003 12:09:

Ma bella Citrus!!!! Ora va tutto. Ieri avevo quasi intuito, facevo s3.setCharAt(s1.length() ,s2.charAt(i)); ma dovevo sommare i. Grazie Zio x l'aiuto. Sto giro li hanno fatti pesanti gli esercizi!!!

__________________
" So I Start The Revolution From My Bed ". Noel Gallagher


Posted by supernova on 25-11-2003 12:16:

Ho un'ultima domanda su questo esercizio, mi stampa le stringhe attaccate nonostante io quando setto la lunghezza dello stringbuffer gli do +1. Io faccio così:
s3.setLength(s1.length() + s2.length() +1);

__________________
" So I Start The Revolution From My Bed ". Noel Gallagher


Posted by citrus on 25-11-2003 13:16:

ok tu imposti la lunghezza considerando lo spazio però poi non lo aggiungi quindi la stringa risultato avrà un carattere null alla fine.
per ovviare devi aggiungere un carattere di spazio tra la prima stringa e la seconda (quindi tra il primo e il secondo ciclo).

secondo me però non è richiesto dall'esercizio (anche se farlo in effetti non costa nulla) perchè il testo dice
"costruire la stringa risultato come una istanza della classe StringBuffer di dimensione la somma delle lunghezze delle due stringhe passate in input.".
(qui non si dice di aggiungere 1.....)
...
comunque, che sia giusto o meno, non penso che sciocchezze come questa influiscano sulla valutazione dell'esercizio.....


Posted by foolish on 25-11-2003 15:40:

stringa 1: Corso di
stringa 2: Comunicazione Digitale

stringa 3: Corso di Comunicazione Digitale.

Io lo spazio l'ho messo, e anche l'esempio lo richiede.

__________________
The only way to discover the limits of the possible is to go beyond them into the impossible.
Arthur C. Clarke.


Posted by Rocco.Li on 25-11-2003 15:58:

neanche io ho messo lo spazio !!!!

__________________
Alcuni uomini vedono le cose come sono e dicono: << Perche' ? >>
Io sogno le cose come non sono mai state e dico: << Perche' No ? >>
George Barnard Shaw, Commediografo.

"non preoccuparti troppo, comunque vada la vita, non ne uscirai vivo !" - anonimo


Posted by supernova on 25-11-2003 16:54:

Mi fai un esempio di come aggiungere lo spazio in termine di codice???? Grazie Zio

__________________
" So I Start The Revolution From My Bed ". Noel Gallagher


Posted by supernova on 25-11-2003 18:33:

Raga mi dovete troppo aiutare, io a sto giro non ho bello che capito un cazzo!!!!!

__________________
" So I Start The Revolution From My Bed ". Noel Gallagher


All times are GMT. The time now is 07:13. Pages (7): « 1 [2] 3 4 5 6 » ... Last »
Show all 96 posts from this thread on one page

Powered by: vBulletin Version 2.3.1
Copyright © Jelsoft Enterprises Limited 2000 - 2002.