Ciao a tutti.
Dovrei realizzare una sequenza di frazioni in input ed in uscita la loro somma e la media.
Per quanto riguarda la somma tutto ok.
Per la media mi da il seguente errore:
codice:
Exception in thread "main" java.lang.NumberFormatException: For input string: "22/15"
at sun.misc.FloatingDecimal.readJavaFormatString(FloatingDecimal.java:1224)
at java.lang.Double.parseDouble(Double.java:510)
at Compito1.main(Compito1.java:59)
posto il codice
codice:
import prog.io.*;
import prog.utili.*;
public class Compito1 {
public static void main(String[]args) {
char scelta;
ConsoleInputManager in=new ConsoleInputManager();
ConsoleOutputManager out=new ConsoleOutputManager();
out.print("Questo programma data una Sequenza di Frazioni all'ingresso, restituisce la somma e la media");
Sequenza<Frazione> seq=new Sequenza<Frazione>();
int contasequenza=0;
do {
scelta=in.readChar("Vuoi Inserire altre Frazioni ? (s/n) ");
scelta= Character.toLowerCase(scelta);
switch (scelta){
case 's':{
int num=in.readInt("Inserisci il numeratore: ");
int den=in.readInt("Inserisci il denominatore: ");
Frazione f= new Frazione(num,den);
seq.add(f);
contasequenza ++;
break;
}
default: System.out.println ("Devi inserire s per una nuova frazione, n se non vuoi inserire");
}
}while(scelta!='n');
Frazione somma=new Frazione(0); //DEfiniamo somma una Frazione che inizzializziamo all'inizio con zero
double addendi=0;
for(Frazione frazioni:seq){
somma=somma.piu(frazioni) ;
addendi ++;
}
Double valoreSomma= Double.parseDouble(somma.toString());
out.println("La somma delle frazioni presenti nella sequenza è : "+somma);
out.println("La media della sequenza di Frazioni è: "+(valoreSomma/addendi));
}
}
Come posso sistemarlo?