Addieren von Fließkommazahlen und ganzen Zahlen

Neue Frage »

Auf diesen Beitrag antworten »
Kaluzo 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() ;
{

}}}
 
Auf diesen Beitrag antworten »
Kaluzo

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?
Auf diesen Beitrag antworten »
eulerscheZahl

Indem du x ausgibst und nicht z.
 
Neue Frage »
Antworten »


Verwandte Themen

Die Beliebtesten »
Die Größten »
Die Neuesten »