PDA

Visualizza la versione completa : [JAVA] Sommare due oggetti


^NeXsUs^
05-03-2006, 11:16
se avessi 2 Integer .. come faccio a sommarli ?

ho provato a fare cosi

class Prova
{
Integer x = new Integer(15);
Integer y = new Integer(6);
Integer z = new Integer(0);

z = x+y;

}

ma non funziona :\ :ciauz:

grazie bye

FelixR
05-03-2006, 11:25
z=new Integer(x.intValue()+y.intValue());

http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Integer.html

Strano, avrei giurato ci fossero dei metodi per sommarli direttamente.

^NeXsUs^
05-03-2006, 13:50
tnx ... ho 1 altra cosa da chiedere però

class Cassa
{
static Double totale = new Double(0.00);

Cassa(Vector vPrezzi, Vector vProdotti){
for (int i = 0; i < vPrezzi.size() ; i++){
totale = totale.doubleValue() + ((vPrezzi.get(i)).doubleValue());
// z=new Integer(x.intValue()+y.intValue());
}
}

vPrezzi è un vector che contiene Double

.. come faccio a sommare totale ( di tipo Double) con gli elementi del vector ?

mi da errore ... :( ...

tnx byee

^NeXsUs^
05-03-2006, 13:51
avevo messo gli spazi ma non me li ha presi :(

Mods
05-03-2006, 14:14
Originariamente inviato da ^NeXsUs^
se avessi 2 Integer .. come faccio a sommarli ?

ho provato a fare cosi

class Prova
{
Integer x = new Integer(15);
Integer y = new Integer(6);
Integer z = new Integer(0);

z = x+y;

}

ma non funziona :\ :ciauz:

grazie bye

Sotto Java 1.5.x funziona anke col +. Versioni precedenti no;

Mods
05-03-2006, 14:18
Originariamente inviato da ^NeXsUs^
tnx ... ho 1 altra cosa da chiedere però

class Cassa
{
static Double totale = new Double(0.00);

Cassa(Vector vPrezzi, Vector vProdotti){
for (int i = 0; i < vPrezzi.size() ; i++){
totale = totale.doubleValue() + ((vPrezzi.get(i)).doubleValue());
// z=new Integer(x.intValue()+y.intValue());
}
}

vPrezzi è un vector che contiene Double

.. come faccio a sommare totale ( di tipo Double) con gli elementi del vector ?

mi da errore ... :( ...

tnx byee



class Cassa
{
static Double totale = new Double(0.00);

Cassa(Vector vPrezzi, Vector vProdotti){
for (int i = 0; i < vPrezzi.size() ; i++){
totale = new Double(totale.doubleValue() + ((Double)vPrezzi.get(i)).doubleValue());
// z=new Integer(x.intValue() + y.intValue());
}
}


così. Nelle versioni antecedenti alla 1.5 non puoi assegnare direttamente numeri a Double, Integer, etc. Devi ogni volta reistanziarli.
Inoltre mancava il casting a Double dal get del Vector

^NeXsUs^
05-03-2006, 14:55
ah ... tnx man !

quando prendo un valore vuori da 1 vector devo castarlo quindi .. anche se in partenza ho inserito ( ad esempio ) Double ?

FelixR
05-03-2006, 16:46
si perchè ti ritorna un Object.
da java 1.5 puoi anche definire un vettore Vector<Double> e non avresti più problemi di cast.

Mods
05-03-2006, 22:11
quoto :D

Loading