|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Member
Iscritto dal: Jul 2009
Messaggi: 102
|
[Java] totalizzatore
da circa 1-2 mesetti ho iniziato a studiare java, esercitandomi.
il problema e questo, creo un progetto per calcolare la media dei voti, ma il tatalizzatore non funziona, com'e possibile ? lo lancio da console e mi manda 2 errori, se tolgo il totalizzatore va tutto bene, ma naturalmente non trovo quello che voglio. sapreste dirmi cosa sbaglio ?? Codice:
import javax.swing.JOptionPane;
class voti {
private static Float v,tot;
private static int c;
public static void main(String[] args) {
voti a=new voti();
a.ins();
}
public void ins() {
v=Float.parseFloat(JOptionPane.showInputDialog("scrivi il " + (c+1) + "° voto"));
if (v>0 && v<=10) {
JOptionPane.showMessageDialog(null,"voto inserito");
c++;
tot=tot+v; <---------------------------------------questo e il totalizzatore incriminato
r();
}else{
JOptionPane.showMessageDialog(null,"voto errato, riprova");
ins();
}
}
}
Ultima modifica di manuel 66 : 06-02-2011 alle 23:25. |
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: Oct 2007
Città: Padova
Messaggi: 4131
|
Il problema è che il tipo Float non è una variabile primitiva del linguaggio (come ad esempio float) ma un "oggetto". E il valore di default di un oggetto dichiarato ma non esplicitamente inizializzato è null.
Quindi quando tu dichiari 'v' e 'tot' essi valgono null. Poi, da codice 'v' viene inizializzato: Codice:
...
v=Float.parseFloat(JOptionPane.showInputDialog("scrivi il " + (c+1) + "° voto"));
Codice:
... tot=tot+v; Risolvi semplicemente inizializzando tot a un valore, ad esempio zero: Codice:
private static Float v, tot = 0f;
__________________
As long as you are basically literate in programming, you should be able to express any logical relationship you understand. If you don’t understand a logical relationship, you can use the attempt to program it as a means to learn about it. (Chris Crawford) Ultima modifica di banryu79 : 07-02-2011 alle 00:36. |
|
|
|
|
|
#3 |
|
Member
Iscritto dal: Jul 2009
Messaggi: 102
|
grazie, ho provato e funziona, il fatto e che sono troppo abituato al vb.net
|
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 12:14.



















