|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Junior Member
Iscritto dal: Apr 2011
Messaggi: 8
|
[JAVA]problema programma java
ciao a tutti sono nuovo nel forum..mi presento sono Massimo di Roma e sono felicissimo di aver trovato questo forum da cui spero di ottenere consigli e delucidazioni sul mondo della programmazione...ho iniziato da pochissimo a programmare in java e sono qui per chiedervi aiuto su un problema a cui non ho trovato risposta...devo fare un semplice programma: dato un numero decimale x e uno intero n, che io chiedo all'utente tramite JOptionPane, mi deve stampare a schermo x^n...il problema è che non posso usare la cartella math o qualcosa del genere ora non ricordo il nome,perchè ancora non la dovrei conoscere...io posso solo usare, se servono eventualmente, if else e while, boolean, && or ! poi le operazioni e >,<,= etc....come faccio?aiutatemi vi prego....
Ultima modifica di zamalek2 : 02-04-2011 alle 16:13. |
![]() |
![]() |
![]() |
#2 |
Senior Member
Iscritto dal: May 2001
Messaggi: 12843
|
con x^n immagino intendi x elevato alla n, beh basta ricordarsi (o andarsi a riguardare) la definizione di elevazione a potenza
![]() |
![]() |
![]() |
![]() |
#3 |
Junior Member
Iscritto dal: Apr 2011
Messaggi: 8
|
l'ho letta ma non riesco a capire come implementarla...
|
![]() |
![]() |
![]() |
#4 |
Senior Member
Iscritto dal: May 2001
Messaggi: 12843
|
![]() Immagine di Wikipedia Questa immagine dovrebbe valere più di mille parole ![]() Devi moltiplicare la stessa quantità n volte. Qual è quel costrutto dei linguaggi di programmazione che ti consente di ripetere una certa operazione più volte? Più di così, dato che parliamo di una cosa abbastanza semplice, ti dovrei dire il codice, e non mi sembrerebbe affatto educativo. Ultima modifica di WarDuck : 02-04-2011 alle 18:01. |
![]() |
![]() |
![]() |
#5 |
Senior Member
Iscritto dal: Sep 2003
Città: Tradate
Messaggi: 396
|
![]() Pensa alle cose che hai scritto, quale ti potrebbe essere utile per ripetere una cosa piu' volte.. ![]() Edit: abbiamo scritto in contemporanea.. ![]() Ultima modifica di Darecon : 02-04-2011 alle 18:03. |
![]() |
![]() |
![]() |
#6 |
Senior Member
Iscritto dal: May 2001
Messaggi: 12843
|
![]() |
![]() |
![]() |
![]() |
#7 |
Member
Iscritto dal: Aug 2010
Messaggi: 138
|
Codice:
io posso solo usare, se servono eventualmente, if else e while, boolean, && or ! poi le operazioni e >,<,= etc. bastano questi.... come ti ha detto WarDuck: Codice:
Qual è quel costrutto dei linguaggi di programmazione che ti consente di ripetere una certa operazione più volte? ![]() |
![]() |
![]() |
![]() |
#8 |
Junior Member
Iscritto dal: Apr 2011
Messaggi: 8
|
grazie mille delle risposte ma sono impantanto in un punto
Ultima modifica di zamalek2 : 03-04-2011 alle 10:40. |
![]() |
![]() |
![]() |
#9 |
Junior Member
Iscritto dal: Apr 2011
Messaggi: 8
|
sìsì io avevo capito che bisognava usare il while, scusate se non ve l'ho detto prima, ma non capisco cosa metterci dentro, nel senso: non posso usare all'interno del while i simboli delle operazioni ma solo quelli boolean, tipo >,< etc....la mia domanda è come porre in rapporto x ed n nel while, dato che non posso evidentemente calcolare tutti i possibili esponenti che vengono immessi...
|
![]() |
![]() |
![]() |
#10 |
Member
Iscritto dal: Aug 2010
Messaggi: 138
|
Sicuramente potrai usare
Codice:
" + , - , * , : " ![]() La potenza non è altro che un dato numero , moltiplicato per se stesso N volte. Se dovessi calcolare questa potenza: 2^3 ,questa non è altro che 2*2*2 . Nel ciclo devi fare questo: Codice:
CILCO (Ho moltiplicato il numero per se stesso N volte? Se la risposta è si esci dal ciclo altrimenti entri nel ciclo ) { Moltiplico il numero per se stesso } Ultima modifica di Gin&&Tonic : 03-04-2011 alle 10:58. |
![]() |
![]() |
![]() |
#11 |
Senior Member
Iscritto dal: Oct 2004
Messaggi: 1945
|
supponi che vuoi fare
A elevato alla B hai una variabile A e una B ti crei una C inizializzata a 1 ti crei una D inizializzata a A effettui un ciclo while(fino a quando C é diverso da B){ D sarà uguale a D * A incrementi C } adesso hai il valore D che equivale a A elevato alla B diciamo che adesso devi metterci del tuo... ci sono altri modi ma per cominciare a ragionare va bene così |
![]() |
![]() |
![]() |
#12 |
Junior Member
Iscritto dal: Apr 2011
Messaggi: 8
|
scusate io ho scritto questo e in parte ci sono riuscito solo che mi funziona solo per gli interi...
Codice:
int potenza; int x = Integer.parseInt(JOptionPane.showInputDialog("immetti un numero intero")); int n = Integer.parseInt(JOptionPane.showInputDialog("dammi un numero intero")); potenza = 1; while(n>0){ potenza = potenza * x; n--; } System.out.println(potenza); |
![]() |
![]() |
![]() |
#13 |
Senior Member
Iscritto dal: Oct 2004
Messaggi: 1945
|
Ma tu stai usando solo interi
|
![]() |
![]() |
![]() |
#14 |
Junior Member
Iscritto dal: Apr 2011
Messaggi: 8
|
eh no a me serve che la base sia decimale...
|
![]() |
![]() |
![]() |
#15 |
Senior Member
Iscritto dal: May 2001
Messaggi: 12843
|
Non cambia nulla, dovrai solo leggere il numero come double (dunque usare il tipo di dato double per la base)
![]() Ultima modifica di WarDuck : 03-04-2011 alle 12:34. |
![]() |
![]() |
![]() |
#16 |
Junior Member
Iscritto dal: Apr 2011
Messaggi: 8
|
il problema è proprio questo...se ci metto il double alla base...mi dice errore loss of precision found double required int, quando moltiplico la potenza per la base...
|
![]() |
![]() |
![]() |
#17 |
Senior Member
Iscritto dal: May 2001
Messaggi: 12843
|
|
![]() |
![]() |
![]() |
#18 |
Junior Member
Iscritto dal: Apr 2011
Messaggi: 8
|
scusate mi è venuto un altro dubbio...ma quando l'esponente è negativo???
|
![]() |
![]() |
![]() |
#19 |
Senior Member
Iscritto dal: Sep 2003
Città: Tradate
Messaggi: 396
|
Fai la potenza e ribalti, esempio:
3^-1 = 1/(3^1) 3^-2 = 1/(3^2) |
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 23:12.