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:
posto il codicecodice: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)
Come posso sistemarlo?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)); } }

Rispondi quotando