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)
-- [PROGETTO] L'esecuzione (http://www.dsy.it/forum/showthread.php?threadid=24061)
[PROGETTO] L'esecuzione
Il file my compila perfettamente, ma quando lo eseguo appare:
code:
C:\...\myLanguage>java Programma 5 10 DECLARE s; DECLARE arg1; arg1 = 5; IF (arg1<=0) PRINT "Primo argomento invalido" ELSE DECLARE arg2; arg2 = 10; IF (arg2<=0) PRINT "Secondo argomento invalido" ELSE WHILE (arg1!=0) arg1 -= 1; s += 1; WHILE (arg2!=0) arg2 -= 1; s += 1; PRINT s; InvalidVariableException: at Assegna.esegui(myLanguage.java:257) at Sequenza.esegui(myLanguage.java:34) at Programma.main(myLanguage.java:445)
code:
if (memoria.containsKey(variabile) == false) throw new InvalidVariableException(); else { memoria.remove(variabile); memoria.put(variabile, new Integer(valore)); }
__________________
...!
Se commento tutte le exceptions (ho provato per cercare di rintracciare l'errore), mi lancia un eccezzione NullPointer quando viene usato istrSe.esegui() nella classe Selezione.
Non so se serve per capirci di piu'. -_-
__________________
...!
InvalidVariableException:
at Assegna.esegui(myLanguage.java:257)
at Sequenza.esegui(myLanguage.java:34)
at Programma.main(myLanguage.java:445)
__________________
- - {[( KEVIN HIGHT FLY)]} - -
Ho messo tutto nello stesso file per simplificare le cose dato che continuo a dover modificare e ri-compilare.
Non dovrebbe cambiar nulla, non credo c'entri col problema...
La cosa che non riesco a capire è perche' l'intero programma funziona come se le variabili non venissero dichiarate, eppure anche Dichiara.esegui() mi sembra corretta.
code:
if (memoria.containsKey(variabile)) throw new ExistingVariableException(); else memoria.put(variabile, new Integer(0));
__________________
...!
scusa magari non centra niente e sto dicendo una cavolata ma se provi a mettere Istruzione o super prima di memoria cosa succede? tipo Istruzione.memoria.put...
La mia variabile Hashtable memoria è public, quindi dovrebbe essere leggibile da tutte le altre classi. Comunque ho provato e mentr con Istruzione.* non compila neanche, con super.* da sempre lo stesso errore.
:\:\
__________________
...!
è statica?
cosa intendi? Non l'ho dichiarata static.
__________________
...!
con static la estendi anche alle sottoclassi!
quoto : dichiarala static la hashtable
__________________
The Americans are too in love with the sound of their own voice to speak the truth (MGS 2 Sons Of Liberty)
Ora l'eccezione che appare è unaltra,
code:
InvalidOperandException: Operatore sbagliato. at Iterazione.esegui(myLanguage.java:165) at Sequenza.esegui(myLanguage.java:34) at Selezione.esegui(myLanguage.java:103) at Sequenza.esegui(myLanguage.java:34) at Selezione.esegui(myLanguage.java:103) at Sequenza.esegui(myLanguage.java:34) at Programma.main(myLanguage.java:397)
__________________
...!
Risolto .........-_- e ora mi da come risultato finale sempre "2".
No comment.
__________________
...!
Visto che ci troviamo... A me succede questo. Metto come valori 10 5.
l'output ( mettendo dei system out in incrementa e decrementa ) è questo:
code:
DECLARE s; DECLARE arg1; arg1 = 10; IF(arg1<=0) PRINT ''Primo argomento invalido''; ELSE DECLARE arg2; arg2 = 5; IF(arg2<=0) PRINT ''Secondo argomento invalido''; ELSE WHILE(arg1!=0) arg1 -= 1; s += 1; WHILE(arg2!=0) arg2 -= 1; s += 1; PRINT s; decremento: 1 decr2 caricato dall hashtable: 9 dovrebbe fermarsi a 0 incremento: 1 incr2 caricato dall hashtable: 1 dovrebbe fermarsi a 0 decremento: 1 decr2 caricato dall hashtable: 8 dovrebbe fermarsi a 0 incremento: 1 incr2 caricato dall hashtable: 2 dovrebbe fermarsi a 0 decremento: 1 decr2 caricato dall hashtable: 7 dovrebbe fermarsi a 0 incremento: 1 incr2 caricato dall hashtable: 3 dovrebbe fermarsi a 0 decremento: 1 decr2 caricato dall hashtable: 6 dovrebbe fermarsi a 0 incremento: 1 incr2 caricato dall hashtable: 4 dovrebbe fermarsi a 0 decremento: 1 decr2 caricato dall hashtable: 5 dovrebbe fermarsi a 0 incremento: 1 incr2 caricato dall hashtable: 5 dovrebbe fermarsi a 0 decremento: 1 decr2 caricato dall hashtable: 4 dovrebbe fermarsi a 0 incremento: 1 incr2 caricato dall hashtable: 6 dovrebbe fermarsi a 0 decremento: 1 decr2 caricato dall hashtable: 3 dovrebbe fermarsi a 0 incremento: 1 incr2 caricato dall hashtable: 7 dovrebbe fermarsi a 0 decremento: 1 decr2 caricato dall hashtable: 2 dovrebbe fermarsi a 0 incremento: 1 incr2 caricato dall hashtable: 8 dovrebbe fermarsi a 0 decremento: 1 decr2 caricato dall hashtable: 1 dovrebbe fermarsi a 0 incremento: 1 incr2 caricato dall hashtable: 9 dovrebbe fermarsi a 0 decremento: 1 decr2 caricato dall hashtable: 0 dovrebbe fermarsi a 0 incremento: 1 incr2 caricato dall hashtable: 10 dovrebbe fermarsi a 0 decremento: 1 decr2 caricato dall hashtable: -1 dovrebbe fermarsi a 0 incremento: 1 incr2 caricato dall hashtable: 11 dovrebbe fermarsi a 0 decremento: 1 decr2 caricato dall hashtable: -2 dovrebbe fermarsi a 0 incremento: 1 incr2 caricato dall hashtable: 12 dovrebbe fermarsi a 0 decremento: 1 decr2 caricato dall hashtable: -3 dovrebbe fermarsi a 0 incremento: 1 incr2 caricato dall hashtable: 13 dovrebbe fermarsi a 0 decremento: 1 decr2 caricato dall hashtable: -4 dovrebbe fermarsi a 0 incremento: 1 incr2 caricato dall hashtable: 14 dovrebbe fermarsi a 0 decremento: 1 decr2 caricato dall hashtable: -5 dovrebbe fermarsi a 0
ok risolto
funzionaaaaaaa
aiuto!!
aiuto!sono nella me*da..sono rimasto da solo e devo assolutamente finire questo progetto!!qualcuno che ha già finito ed è di animo veramente buono potrebbe aiutarmi...Io ho già scritto tutto ma correggo un errore e ne spunta un altro...Vi prego una mente illuminata potrebbe darmi qualche dritta! Grazie Mille ve ne sarò grato per sempre!!
!@£!$!@#£*$!@£$!!!
__________________
...!
drowne ho il tuo stesso problema mi dici come hai risolto ?
grazieeeeeee
FINTIO DICO ZNJANENkla
__________________
...!
in pratica i while erano cosi:
if (operazione.equals(">")) {
while(var>valore) {
ESEGUI CORPO;
}
solo che in questo modo VAR non cambia mai... basta fargliela leggere dentro il while dall'hashtable...
while (zazazaza) {
var = pigliatelo dall'hash
ESEGUI CORPO;}
In java 1.5 andava tutto bene..
Passo a java 1.4 faccio tutti i casting e correggo iterazione come ha detto Drowne (non capisco perchè in java 1.5 andava anche senza correzione) e porca pupazza mi stampa la somma+2 al posto della somma e basta.
Se metto 10 e 5 mi stampa 17..
Se metto 1 e 2 mi stampa 5..
Ma dico io perchè?!
Qualcuno ha qualche consiglio?
io non ce l'ho ancora messo, lo faccio domani che sono distrutto oggi :ph34r:
buona fortuna
se ti capita il mio problema (non te lo auguro) fammi sapere..
Posso sorgere un dilemma???!!!
Ho riguardato la hashtable modellandola per la versione 1.4 e MAGIA DELLE MAGIE...Sono riuscito a sottoporre l'intero progetto!!! Senza però testarlo sul mio PC!!!!
Ma dato che sono molto dubbioso e Se nn ci infilo il dito(non gode)nn credo.....Dato che ho installato la JDK con Jre 1.5.0.2
come faccio ad installare e controllare la validità del mio progetto se non ho la versione 1.4???!!! ANTICIPO CHE QUI A CASA HO IL 56k!!
Come posso fare??
HELP
__________________
- - {[( KEVIN HIGHT FLY)]} - -
con Eclipse si puo usare anche la 1.4.... ce l'hai, vero?
No, uso Netbeans l'ultima versione comprese le patch ufficiali di aggiornamento! Ma il mio problema è che non posso manco scaricarla qui a casa! Dovrei venire lì a milano!
Ho la JKD jre 1.5!!!
D..O che sfiga!!!
KMQ A ME LO SOTTOPONE LO STESSO!!! MAGARI E' TUTTO GIUSTO E SONO IO A TIRARMI LE PARANOIE...!!! O...MAGARI NON E' COSI'!!!
__________________
- - {[( KEVIN HIGHT FLY)]} - -
Raga io ho un problema!...a me il programma stampa sempre "Primo argomento invalido!" e non riesco a trovare l'errore!...dove che sbaglio?!mi date un aiutino per favore!
E' sicuramente nella classe Selezione... Controlla l'esegui.
Ti ringrazio drowne...quindi l'errore dovrebbe essere in questi pezzetti di if?
if (((Integer)memoria.get(variabile)).intValue()>valore)
istrSe.esegui();
else istrAltrimenti.esegui();
Io in selezione ho fatto una serie di if annidati dove confronta solo e richiama esegui sulle istruzioni!devo controllare if quando legge in memoria?!
Originally posted by Drowne
in pratica i while erano cosi:
if (operazione.equals(">")) {
while(var>valore) {
ESEGUI CORPO;
}
solo che in questo modo VAR non cambia mai... basta fargliela leggere dentro il while dall'hashtable...
while (zazazaza) {
var = pigliatelo dall'hash
ESEGUI CORPO;}
avevo scritto il codice giusto ma l'ho dovuto editare, mi spiace
cmq zazazaza = quello che c'era nel while prima, si
var = ci va la robaccia per prendere il valore dall'hash ( senza che lo scrivo io, l'ha scritto Grandemago nel reply prima del tuo, cosi siamo tutti contenti ^_^ )
@Grandemago:
quello è giusto... Hai usato qualcosa tipo (operazione == ">=") oppure hai usato equals? Io, personalmente ho usato equals per sicurezza...
HELP
ragazzi..... ho mandato in esecuzione il programma di malchiodi e mi esce:
Exception in thread "main" java.lang.NullPointerException
at Incrementa<int><Incrementa.java:9>
at Programma.main<Programma.java:10>
SAPETE COSA VUOL DIRE........MI STO DANNANDO MA NN RIECO A CAPIRE QUAL'E' L'ERRORE!!!!!!!!.......
ok.... ora ho un solo problema, MORTALE! il programma, compila e stampa quello che deve stampare a sola eccezione del risultato, questo dipende sicuramente dal primo WHILE che mi stampa nel decrementa arg2 invece di arg1.... non capisco perchè, da quale può dipendere secondo voi??
DECLARE s;
DECLARE arg1;
arg1 = 10;
IF(arg1<=0)
PRINT "Primo argomento invalido";
ELSE
DECLARE arg2;
arg2 = 5;
IF(arg2<=0)
PRINT "Secondo argomento invalido";
ELSE
WHILE(arg1!=0)
arg2 -= 1;
s += 1;
WHILE(arg2!=0)
arg2 -= 1;
s += 1;
PRINT s;
__________________
"You got to lose to know how to win"
a me faceva così perchè non usavo il clone nei costruttori
puoi spiegarti meglio? penso mi puoi essere molto d'aiuto.. tnx
__________________
"You got to lose to know how to win"
prova a mettere corpo=(Istruzione)c.clone() nel costruttore di iterazione
l'ho messo ma non mi ha risolto nulla...cazz, devo andare a lavorare ci aggiorniamo su sta cosa! grazei lo stesso!!
ma clone l hai usato anche su altri metodi??
__________________
"You got to lose to know how to win"
no nei costruttori fallo anche in Sequenza
OTTIMO GRAZIE MILLEEE!!! ti devo ... bo un caffè? ihihihhii :-)
__________________
"You got to lose to know how to win"
ah no, ora stampa pure..grazie grazie, sono commosso
__________________
"You got to lose to know how to win"
Originally posted by Drowne
avevo scritto il codice giusto ma l'ho dovuto editare, mi spiace
cmq zazazaza = quello che c'era nel while prima, si
var = ci va la robaccia per prendere il valore dall'hash ( senza che lo scrivo io, l'ha scritto Grandemago nel reply prima del tuo, cosi siamo tutti contenti ^_^ )
@Grandemago:
quello è giusto... Hai usato qualcosa tipo (operazione == ">=") oppure hai usato equals? Io, personalmente ho usato equals per sicurezza...
Perfavore...........ragazzi rispondete........ho mandato in esecuzione il programma di malchiodi e mi esce:
Exception in thread "main" java.lang.NullPointerException
at Incrementa<int><Incrementa.java:9>
at Programma.main<Programma.java:10>
SAPETE COSA VUOL DIRE........MI STO DANNANDO MA NN RIESCO A CAPIRE QUAL'E' L'ERRORE!!!!!!!!.......
Originally posted by ad676556
Perfavore...........ragazzi rispondete........ho mandato in esecuzione il programma di malchiodi e mi esce:
Exception in thread "main" java.lang.NullPointerException
at Incrementa<int><Incrementa.java:9>
at Programma.main<Programma.java:10>
SAPETE COSA VUOL DIRE........MI STO DANNANDO MA NN RIESCO A CAPIRE QUAL'E' L'ERRORE!!!!!!!!.......
scusa ma io l'ho controllato cento volte e mi sembra giusto.......ma tu cosa avevi dimenticato.........in modo da vedere se è quello anche per me..........
prova inserendo prima del for
elenco = new Istruzione[e.length]
no so se per te è uguale però a me ha smesso di fare l'errore appena ho inserito questa riga.....anche se adesso invece di darmi in output la somma mi dà sempre Primo argomento in valido! e non capisco che cavolo è!
nn saprei..........cmq ora vedo se mi da ancora quell'errore e se nn mi esce ci incontriamo e ti offro qualcosa
dannazione.......ho fatto quello che mi avevi detto tu.......ma niente .........l'errore nn vuole andarsene.............
Qualcuno può aiutarmi a capire perchè mi esce sempre primo argomento invalido invece della somma?! è tutto il pom che ci sbatto ma niente!!!...vi prego!
Note:......\Incrementa.java uses unchecked or unsafe operations.
Note: Recompile with -Xlint:unchecked for details.
Jcreator mi compila tutto ma mi dà questa nota?! qualcuno sa che vuol dire?!
nulla di preoccupate, non mi ricordo come l'avevo tolta, dopo ci do uno sguardo e te lo dico
Originally posted by sbrandu
In java 1.5 andava tutto bene..
Passo a java 1.4 faccio tutti i casting e correggo iterazione come ha detto Drowne (non capisco perchè in java 1.5 andava anche senza correzione) e porca pupazza mi stampa la somma+2 al posto della somma e basta.
Se metto 10 e 5 mi stampa 17..
Se metto 1 e 2 mi stampa 5..
Ma dico io perchè?!
Qualcuno ha qualche consiglio?
Ti esce quello xkè hai un compilatore java 1.5...se usi java 1.4 non ti da quell'errore...per eliminarlo devi modoficare la dichiarazione dell'hashtable così: Hashtable<String,Integer> memoria= new Hashtable<String,Integer>(); però così il sito non lo accetta xkè questa funzione c'è solo in java 1.5. Comunque non ti preoccupare, anche se ti esce quel messaggio stai tranquillo che ha compilato, prova ad eseguire e vedrai che funziona.
dany12185
non ho capito a chi rispondevi, se a me..io sto usando Eclipse in java 1.4, mi dà questo +2 in tutte le somme, magari ho toppato io qualcosa però mi sembra molto strano!!
__________________
"You got to lose to know how to win"
Originally posted by matt23
dany12185
non ho capito a chi rispondevi, se a me..io sto usando Eclipse in java 1.4, mi dà questo +2 in tutte le somme, magari ho toppato io qualcosa però mi sembra molto strano!!
__________________
Homepage personale (English version)
c/o segreteria didattica via comelico
no... eclipse, questo sconosciuto ihihihih lo sto usando da venerdì sera, non ho ancora capito benissimo come funge il debug, devo usare "step by step" ?
__________________
"You got to lose to know how to win"
Originally posted by matt23
no... eclipse, questo sconosciuto ihihihih lo sto usando da venerdì sera, non ho ancora capito benissimo come funge il debug, devo usare "step by step" ?
OT
Devi prima mettere dei breakpoint e poi lanciare il progetto in modalità debug ed eseguire step-by-step.
__________________
Homepage personale (English version)
c/o segreteria didattica via comelico
uhhhmmm....allora ho piazzato dei breakpoint, vado in "debug", lancio con "run", ho le finestre di "debug" dove ho selezionato "step by step", poi ho i breakpoint a destra, sotto il mio codice coi break e sotto il programma in esecuzione, ma non manca la finestra che mi visualizza i passi che stanno facendo le mie variabili??
__________________
"You got to lose to know how to win"
non devi andare su run, ma sullo scarafaggio alla sua sinistra "debug". In questo modo eclipse ti mette in pausa il tuo programma dove hai messo i breakpoint e nella finestra in alto a destra ti visualizza i valori delle variabili.
Raga vi prego, qualcuno che mi aiuti!non riesco ad ottennere la somma come output, sempre primo argomento invalido!
ma se lo consegnassi con questo errore sarebbe un errore grave secondo voi?!
ragazzi aiuto...........mi esce questo:
ciao.......ragazzi ve lo metto avideo l'errore:
DECLARE s;
DECLARE arg1;
arg1 = 10;
IF (arg1<=0)
PRINT Primo argomento invalido;
ELSE
DECLARE arg2;
arg2 = 5;
IF (arg2<=0)
PRINT Secondo argomento invalido;
ELSE
WHILE(arg1!=0)
arg1 -=1;
s +=1;
WHILE(arg2!=0)
arg2 -=1;
s +=1;
PRINT s;
-
e mi si blocca così..........il trattino in fondo è dovrebbe essere il segno del mouse ma nn lampeggia.....e nn mi permette di scrivere più niente........nn capisco che errore è..............aiutatemi perfavore.........sto inpazzendo
E' un errore di loop cioè qlke ciclo nn finisce mai, controlla iterazione.
Quando succede premi ctrl+c ed esce
ok.....verificherò............e speriamo che riesca a risolvere questo problema.......
nn sto riuscendo a risolvere il problema del loop...........aiutatemi
vi metto a video il codice di decrementa:
if (this.decremento>0) {
Integer dato= (Integer) (memoria.get(variabile));
int datoInt = dato.intValue();
int newVal=datoInt- decremento;
....
Intervento del moderatore:
Un po troppo codice. limitare le pubblicazioni
All times are GMT. The time now is 11:33. | Show all 63 posts from this thread on one page |
Powered by: vBulletin Version 2.3.1
Copyright © Jelsoft Enterprises Limited 2000 - 2002.