Hallo,
ich habe heute ein kleines Programm geschrieben womit man den Durschnitt von 10 Dezimalzahlen berechnen kann. Was das jetzt für ein Sinn hat, lege ich jetzt einfach mal beiseite.
Jedenfalls, hier erst mal mein Code:
Wenn ich bei allen 10 Werten zum Beispiel 0,2532 (eingegeben habe ich natürlich 0.2532, nicht 0,2532) eingebe, sollte ja logischerweise als Ergebnis bzw. Durschnitt ja auch 0,2532 (bzw. 0.2532) rauskommen, jedoch lautet das Ergebnis: 0,25320000000000004. Was muss ich hier ändern, damit 0,2532 rauskommt und nicht 0,25320000000000004?
Nachtrag: Ich habe gerade mit System.out.println nachgeguckt wo der Fehler liegen könnte, ich habe festgestellt, dass das Umwandeln von String zu Double problemlos funktioniert, der Fehler müsste beim Berechnen von "sum" liegen.
MfG
Kenta1561
ich habe heute ein kleines Programm geschrieben womit man den Durschnitt von 10 Dezimalzahlen berechnen kann. Was das jetzt für ein Sinn hat, lege ich jetzt einfach mal beiseite.
Jedenfalls, hier erst mal mein Code:
Java:
package main;
import javax.swing.*;
/**
* Created by Kenta1561 on 2016/04/01.
*/
public class Main {
public static void main(String[] args) {
String[] numbers = new String[10];
double sum, average, n1, n2, n3, n4, n5, n6, n7, n8, n9, n10;
for(int counter = 1; counter < 11; counter++) {
numbers[counter-1] = JOptionPane.showInputDialog("Enter your " + counter + ". number.");
}
n1 = Double.parseDouble(numbers[0]);
n2 = Double.parseDouble(numbers[1]);
n3 = Double.parseDouble(numbers[2]);
n4 = Double.parseDouble(numbers[3]);
n5 = Double.parseDouble(numbers[4]);
n6 = Double.parseDouble(numbers[5]);
n7 = Double.parseDouble(numbers[6]);
n8 = Double.parseDouble(numbers[7]);
n9 = Double.parseDouble(numbers[8]);
n10 = Double.parseDouble(numbers[9]);
sum = n1+n2+n3+n4+n5+n6+n7+n8+n9+n10;
average = sum/10;
JOptionPane.showMessageDialog(null, "The average is " + average + ".");
}
}
Wenn ich bei allen 10 Werten zum Beispiel 0,2532 (eingegeben habe ich natürlich 0.2532, nicht 0,2532) eingebe, sollte ja logischerweise als Ergebnis bzw. Durschnitt ja auch 0,2532 (bzw. 0.2532) rauskommen, jedoch lautet das Ergebnis: 0,25320000000000004. Was muss ich hier ändern, damit 0,2532 rauskommt und nicht 0,25320000000000004?
Nachtrag: Ich habe gerade mit System.out.println nachgeguckt wo der Fehler liegen könnte, ich habe festgestellt, dass das Umwandeln von String zu Double problemlos funktioniert, der Fehler müsste beim Berechnen von "sum" liegen.
MfG
Kenta1561
Zuletzt bearbeitet: