Addieren von Fließkommazahlen und ganzen Zahlen |
Kaluzo unregistriert
|
|
Addieren von Fließkommazahlen und ganzen Zahlen |
|
Meine Frage:
Hallo liebe Leute,
ich habe ein paar Aufgaben zu erledigen und bin leider absoluter neuling im prgrammieren.
in dieser Klasse soll sich eine "main"-Methode befinden, die eine ganze Zahl (n) und eine Fließkommazahl (d) liest. Dann soll eine Variable x mit 2.0 initialisiert werden, und n mal der Wert d dazu addiert werden. Vergleichen Sie nun das Resultat mit dem exakten Wert 2+(n*d). Testen Sie verschiedene Werte für n und d.
Im wesentlichen verstehe ich die Aufgabe, aber ich habe absolut keinen Ansatz wie ich damit wieter arbeiten soll.
Als Ansatz habe ich:
Beispiel
Eingabe: 1000000 1,734375
Ausgabe: 1734377.0 Differenz: 0.0
ich hoffe ihr könnt mir weiter helfen, mein Ansatz habe ich auch hinzugefügt, dieser ist aber sehr marginal da ich lediglich die beiden Eingaben deklariert habe.
Meine Ideen:
package de.ostfalia.gdp.ws16;
import java.util.Scanner;
// Fließkommazahlen addieren
public class Addieren {
public static void main(String[] args){
Scanner in = new Scanner(System.in);
double d = in.nextDouble();
int x = in.nextInt();
in.close() ;
{
}}}
|
|
08.11.2016 10:25 |
|
|
Kaluzo
Grünschnabel
Dabei seit: 08.11.2016
Beiträge: 1
|
|
Ich bin nun doch deutlich weiter gekommen, dennoch habe ich bei der Eingabe:
1000000 1,1
Noch kein Richtiges Ergebnis, der Rest stimmt.#
[B]public class Addieren {
public static void main(String[] args){
Scanner in = new Scanner(System.in);
System.out.println(" Geben sie 2 Zahlen ein ");
int n = in.nextInt();
double d = in.nextDouble();
double x = 2.0;
for (int i = 0; i < n; i++) {
//System.out.println(i + ": " + x);
x += d;
}
double z = (2.0 + d*n);
double y = x - (2.0 + d*n); //Differenz
in.close() ;
{
}
System.out.println(z + " Differenz: "+ y);
}
}[B/]
Bei der Eingabe wird erwartet:
1100001.9999886873 Differenz -1.1312775313854218E-5
Bei mir Komm aber das herraus:
1100002.0 Differenz: -1.1312775313854218E-5
Beim ersten wert, werden die Nchkommastellen also einfach aufgerundet. Kann mir jemand erklären wie ich das verhindern kann?
|
|
08.11.2016 15:01 |
|
|
|