![]() |
Show 150 posts per page |
.dsy:it. (http://www.dsy.it/forum/)
- Forum De Bell Tolls (http://www.dsy.it/forum/forumdisplay.php?forumid=7)
-- [Prog Java] Domanda banale ... (http://www.dsy.it/forum/showthread.php?threadid=5101)
[Prog Java] Domanda banale ...
Stavo riguardando lo scritto di info generale (visto ke per l'orale devo portare i due programmini stampati ... ) e mi stavo dando da fare quando mi e' sorto un dubbio ... il pezzo dell'esercizio in questione e' questo: "Sviluppare un’applicazione Java che *cut*, legga da tastiera una serie di numeri interi positivi di lunghezza non nota a priori, terminata dal numero 9999, la memorizzi in una struttura di dati appropriata, ... "
io avevo usato un array, solo ke provando ora il programma mi son ricordato ke va dichiarata la lunghezza dell'array quando lo si istanzia, no ? pero' qua mi chiede una serie di numeri non nota a priori, quindi l'array.length la conosco solo dopo aver inserito i valori ... ho pensato a un vector o roba simile, solo ke (oltre a non saperlo usare) non sono nel programma, quindi dubito vengano richiesti nell'esame, no ?
In sostanza sapreste risolvere il pezzetto qua sopra usando gli array...?
Terrytop
__________________
Den som väntar på något gott väntar aldrig för länge
"...una radio spenta e' peggio che scambiare una radio per un adesivo..."
la gente dorme e si sveglia solo per morire
gli array no, ma nemmeno vector (perchè anche li è richiesto di dare una dimensione), si dovrebbe usare una lista...almeno io lo farei con una lista...
__________________
http://www.twitter.com/0m4r
beh, il Vector può incrementare..
dalla javaDoc (java.util.Vector):
Vector(int initialCapacity, int capacityIncrement)
una soluzione un po' 'sporca' usando gli arrays potrebbe essere quella di copiare l'array in uno più grande quando è pieno ..ma è davvero un'obbrobrio!
__________________
"Il Buddha, il Divino, dimora nel circuito di un calcolatore o negli ingranaggi del cambio di una moto con lo stesso agio che in cima a una montagna o nei petali di un fiore. Pensare altrimenti equivale a sminuire il Buddha - il che equivale a sminuire sè stessi." Robert M. Pirsig - Lo Zen e l'arte della manutenzione della motocicletta
E se mettessi il tutto in una string e usassi il magico StringTokenizer?
__________________
__________________
a p bertolini
StringTokenizer
D'altra parte, puoi anche usare String.split
PHP:
String[] elencoNumeri = "1 10 400 32 9 999".split("\s");
for (int x=0; x<elencoNumeri.length; x++)
{
System.out.println(result[x]);
}
__________________
__________________
a p bertolini
Originally posted by webwarrior
E se mettessi il tutto in una string e usassi il magico StringTokenizer?
__________________
Den som väntar på något gott väntar aldrig för länge
"...una radio spenta e' peggio che scambiare una radio per un adesivo..."
la gente dorme e si sveglia solo per morire
Cmq mi sa che la soluzione "didattica" corretta è quella di Om4r. L'esercizio è il classico esempio di lista linkata, anche se però servirebbe sapere cosa devi fartene una volta che hai immagazzinato i numeri nella "struttura appropriata"
__________________
__________________
a p bertolini
Originally posted by webwarrior
Cmq mi sa che la soluzione "didattica" corretta è quella di Om4r. L'esercizio è il classico esempio di lista linkata, anche se però servirebbe sapere cosa devi fartene una volta che hai immagazzinato i numeri nella "struttura appropriata"
__________________
Den som väntar på något gott väntar aldrig för länge
"...una radio spenta e' peggio che scambiare una radio per un adesivo..."
la gente dorme e si sveglia solo per morire
Bah, così su due piedi me ne fregherei di array e altro e avrei 3 variabili
(sintassi a caso, giusto per rendere)
PHP:
int primo, secondo, terzo=0;
int buffer=0;
do
{
buffer=leggiNumero();
if (buffer>primo)
{
primo=buffer;
}
else if (buffer>secondo)
{
secondo=buffer;
}
else if (buffer>terzo)
{
terzo=buffer;
}
}
while (buffer!=0)
__________________
__________________
a p bertolini
oserei dire che e' sbagliato.. per esempio sa 11 10 9 e inserisci 20 ti rtrovi con 20 10 9... invece dovresti avere 20 11 10... ma e' un prob facilmente risolvibile con qualche controllo di piu'
__________________
La mia epoca ed io non siamo fatti l'uno per l'altro:questo è chiaro. Ma è da vedere chi di noi due vincerà il processo di fronte al tribunale dei posteri.
AV MJØDEN VART DU VIS OG KLOK, SÅ DREKKA MER!!!!
Le persone sagge parlano perché hanno qualcosa da dire.
Le persone sciocche perché hanno da dire qualcosa.
Yep, hai ragione.
E' una piletta da 3 elementi:
PHP:
int primo, secondo, terzo=0;
int buffer=0;
do
{
buffer=leggiNumero();
if (buffer>primo)
{
terzo=secondo;
secondo=primo;
primo=buffer;
}
}
while (buffer!=9999)
__________________
__________________
a p bertolini
Originally posted by webwarrior
Yep, hai ragione.
E' una piletta da 3 elementi:
__________________
Den som väntar på något gott väntar aldrig för länge
"...una radio spenta e' peggio che scambiare una radio per un adesivo..."
la gente dorme e si sveglia solo per morire
All times are GMT. The time now is 12:40. | Show all 12 posts from this thread on one page |
Powered by: vBulletin Version 2.3.1
Copyright © Jelsoft Enterprises Limited 2000 - 2002.