Registrierung Kalender Mitgliederliste Teammitglieder Suche Häufig gestellte Fragen Zur Startseite

Informatiker Board » Themengebiete » Theoretische Informatik » Addieren von Fließkommazahlen und ganzen Zahlen » Hallo Gast [Anmelden|Registrieren]
Letzter Beitrag | Erster ungelesener Beitrag Druckvorschau | An Freund senden | Thema zu Favoriten hinzufügen
Neues Thema erstellen Antwort erstellen
Zum Ende der Seite springen Addieren von Fließkommazahlen und ganzen Zahlen
Autor
Beitrag « Vorheriges Thema | Nächstes Thema »
Kaluzo
unregistriert
Addieren von Fließkommazahlen und ganzen Zahlen Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

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

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

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 Kaluzo ist offline Beiträge von Kaluzo suchen Nehmen Sie Kaluzo in Ihre Freundesliste auf
eulerscheZahl eulerscheZahl ist männlich
Foren Gott


Dabei seit: 04.01.2013
Beiträge: 2.859

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Indem du x ausgibst und nicht z.

__________________
Syntax Highlighting fürs Board (Link)
08.11.2016 15:04 eulerscheZahl ist offline Beiträge von eulerscheZahl suchen Nehmen Sie eulerscheZahl in Ihre Freundesliste auf
Baumstruktur | Brettstruktur
Gehe zu:
Neues Thema erstellen Antwort erstellen
Informatiker Board » Themengebiete » Theoretische Informatik » Addieren von Fließkommazahlen und ganzen Zahlen