Falsches Ergebnis aufgrund der Nachkommastelle

Asura

Asura

Neues Mitglied
Hallo zusammen,

dies ist mein erster Beitrag, ich hoffe ich bin hier richtig :)

Java:
import java.util.Scanner;

public class Aufgabe4{
    
    public static void main(String[] args) throws Exception{
        
        Scanner myScanner = new Scanner(System.in);
        
        System.out.println("Gebe einen Wert in Grad Fahrenheit ein");
        
        double Fahrenheit = myScanner.nextDouble();
        
        double Celsius = (5.0 / 9) * (Fahrenheit - 32);
        
        int CelsiusohneNachkomma = (int) Celsius;
        
        System.out.println(Fahrenheit + " sind " + CelsiusohneNachkomma + " Grad Celsius");

Anbei ein Code den ich in Form unserer Vorlesung so verfasst habe, der in dieser Form auch funktioniert. Allerdings habe ich ein bisschen rumprobiert und mir sind Fehler aufgefallen, die ich nicht ganz nachvollziehen kann. Als Hintergrund: Wir sollten die Umwandlung erst ganz normal ausgeben und als Teilaufgabe dann so, dass es ohne Nachkommastelle angezeigt wird. Deswegen habe ich erst mit double gearbeitet.

1. Wenn ich anstatt 5.0 nur 5 eingebe spuckt er mir als Ergebnis immer die 0 aus, unabhängig von dem Wert.
2. Meine Doz. hat myScanner.nextInt() bei der Initialisierung von Fahrenheit) verwendet (sonst blieb die Zeile so) und spricht von einer automatische Typausweitung, dies funktioniert bei mir aber nicht.

Könnt ihr mir mit diesen beiden Problemen helfen?

Vielen Dank im Voraus.

Viele Grüße
 
Nicolex3

Nicolex3

Mitglied
Hmm, also bei mir kommt sowohl bei der 5, als auch bei 5.0, als Ergebnis -15 Grad Celsius raus. Selbst myScanner.nextInt(), kommt dasselbe raus. Natürlich wandelt er dann die 5 zu 5.0.
 
T

thecain

Top Contributor
Kann ich mir nicht vorstellen. 5/9 (Integer Division) gibt nämlich schon 0. Wenn aber 5.0 steht wird nach double gecasted
 
H

httpdigest

Top Contributor
1. Wenn ich anstatt 5.0 nur 5 eingebe
Du meinst, wenn du in deinem Quellcode bei:
Java:
double Celsius = (5.0 / 9) * (Fahrenheit - 32);
nicht 5.0 im Zähler der Division stehen hast, sondern 5. Also nicht, wenn du als User bei der Eingabeaufforderung "5.0" eingibst...
Wie @thecain schon sagte, liegt das an der Ganzzahldivision bei (5 / 9).
 
Asura

Asura

Neues Mitglied
Du meinst, wenn du in deinem Quellcode bei:
Java:
double Celsius = (5.0 / 9) * (Fahrenheit - 32);
nicht 5.0 im Zähler der Division stehen hast, sondern 5. Also nicht, wenn du als User bei der Eingabeaufforderung "5.0" eingibst...
Wie @thecain schon sagte, liegt das an der Ganzzahldivision bei (5 / 9).
Ah, genau so meine ich das, sorry! :) Und was hat es jetzt mit nextInt auf sich? Ist es egal ob nextInt oder NextDouble, da ich das vorher schon als double deklariert habe?
 
H

httpdigest

Top Contributor
Ist es egal ob nextInt oder NextDouble, da ich das vorher schon als double deklariert habe?
Wenn du damit meinst, ob es einen Unterschied in der Berechnung macht, ob du der double Variablen `Fahrenheit` nun das Ergebnis von `myScanner.nextInt()` oder `myScanner.nextDouble()` bei Eingabe einer Ganzzahl zuweist, dann: nein, es macht keinen Unterschied. Es ist also egal.
Aber du kannst halt dann auch nur Ganzzahlen per Terminal eingeben.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
F If Abfrage gibt falsches Ergebnis.... Java Basics - Anfänger-Themen 6
TomatenBrot447 Programmieraufgabe - Grafische Oberfläche- falsches Ergebnis? Java Basics - Anfänger-Themen 15
J Berechnung liefert falsches Ergebnis Java Basics - Anfänger-Themen 2
D Operatoren IF Abfrage liefert falsches Ergebnis Java Basics - Anfänger-Themen 4
U ArrayList.get() liefert falsches Ergebnis Java Basics - Anfänger-Themen 4
P falsches ergebnis bei einfacher berechnung Java Basics - Anfänger-Themen 3
C Falsches Ergebnis float-Addition Java Basics - Anfänger-Themen 10
G Datentypen char to int casten - falsches Ergebnis! Java Basics - Anfänger-Themen 6
G Falsches Ergebnis Java Basics - Anfänger-Themen 3
S atan liefert falsches Ergebnis Java Basics - Anfänger-Themen 6
D Ausgabe gibt falsches Ergebnis Java Basics - Anfänger-Themen 2
G Multiplikation falsches Ergebnis Java Basics - Anfänger-Themen 5
C if anweisung, falsches Ergebnis Java Basics - Anfänger-Themen 4
G Einfache Berechnung liefert falsches Ergebnis Java Basics - Anfänger-Themen 2
M SimpleDateFormat, falsches Jahr Java Basics - Anfänger-Themen 3
S ArrayList.add Falsches Argument? Java Basics - Anfänger-Themen 1
JavaNewbie2.0 Gibt meiner Meinung etwas falsches aus. Java Basics - Anfänger-Themen 7
T In Konsole darf nichts falsches eingetippt werden?! Java Basics - Anfänger-Themen 7
F Input/Output Falsches Output in Datei! Java Basics - Anfänger-Themen 4
V Falsches Auslesen von Textdatei Java Basics - Anfänger-Themen 3
L Falsches Array ausgegeben aufgrund von Fehler in Schleife (??) Java Basics - Anfänger-Themen 6
D Time Formatierung - Falsches Resultat Java Basics - Anfänger-Themen 4
B Delete Methode löscht falsches Element Java Basics - Anfänger-Themen 7
S Math.tan Problem rechnet falsches Ergebniss aus. Java Basics - Anfänger-Themen 3
S Wie kann ich bei diesem Code erreichen, das als Ergebnis hier 15 herauskommt? Java Basics - Anfänger-Themen 23
D Brauche Dringend Hilfe...Prozedur/Funktionsprozedur Ergebnis augeben Java Basics - Anfänger-Themen 11
J warum ist das ergebnis 45? Java Basics - Anfänger-Themen 5
A Mit JComboBox Ergebnis einen Integer aus einer anderen Klasse aufrufen. Java Basics - Anfänger-Themen 2
D ergebnis.matches("[1-9]?[0-9].[0-9][0-9]?") ein teil eines größeren Strings Java Basics - Anfänger-Themen 12
S Jede Ziffer einer Zahl auslesen, damit rechnen und beim Ergebnis wiederholen ? Java Basics - Anfänger-Themen 20
V Operatoren Warum kommt nicht das gewünschte Ergebnis dieser Operation? Java Basics - Anfänger-Themen 3
E Bruch erstellen - Von Int zu Double Ergebnis Java Basics - Anfänger-Themen 24
B Wieso gibt das Programm in der Console kein Ergebnis aus? Java Basics - Anfänger-Themen 2
J Kosinussatz liefert falschs Ergebnis Java Basics - Anfänger-Themen 2
J Ergebnis immer 0 Java Basics - Anfänger-Themen 8
P ergebnis einer schleife wiedergeben Java Basics - Anfänger-Themen 8
Anfänger2011 Frame zeigt nicht gewünschtes Ergebnis an ... Java Basics - Anfänger-Themen 5
AssELAss Datentypen BigDecimal Vergleichen ob Ergebnis >= 200 Java Basics - Anfänger-Themen 5
T Methoden Quadratwurzel - Kriterium für genaues Ergebnis Java Basics - Anfänger-Themen 2
I Random Ergebnis ausgeben und Gewinner ausgeben. Java Basics - Anfänger-Themen 3
X Ergebnis speichern! Java Basics - Anfänger-Themen 1
J Ergebnis wird gespammt sowie eine else if Frage Java Basics - Anfänger-Themen 2
P Variablen Negatives Ergebnis bei Multiplikation von großen Zahlen Java Basics - Anfänger-Themen 2
W Methoden While Schleifen Ergebnis im String speichern Java Basics - Anfänger-Themen 5
K Seltsames Ergebnis in Netbeans bei einfacher Multiplikation Java Basics - Anfänger-Themen 5
S Operatoren Taschenrechner Ergebnis ausgeben Java Basics - Anfänger-Themen 7
P Temperatur Umrechner gibt nur ein Ergebnis aus Java Basics - Anfänger-Themen 2
L Schleifen ergebnis zusammenfassen Java Basics - Anfänger-Themen 2
L Schleifen ergebnis zusammenfassen Java Basics - Anfänger-Themen 9
M Hilfe JTextfield Ergebnis Java Basics - Anfänger-Themen 2
P Map liefert bei put null als Ergebnis Java Basics - Anfänger-Themen 6
Xendarii Quicksort gibt kein Ergebnis aus Java Basics - Anfänger-Themen 13
P Kontrollstrukturen Ergebnis gesucht Java Basics - Anfänger-Themen 10
W nicht richtiges Ergebnis /Kreditberechnung Java Basics - Anfänger-Themen 5
O Werte aus ArrayList multiplizieren und dann Ergebnis addieren Java Basics - Anfänger-Themen 3
R POI HSSF liesst in Excel Formel statt Ergebnis Java Basics - Anfänger-Themen 4
B Erste Schritte ergebnis der funktion in der main-methode ausgeben Java Basics - Anfänger-Themen 7
P for Schleife, gleiches ergebnis mit und ohne {} Java Basics - Anfänger-Themen 13
R ArrayList.add() führt nicht zu gewünschtem Ergebnis Java Basics - Anfänger-Themen 2
P Ergebnis sollte double sein ... Java Basics - Anfänger-Themen 5
S Datei einlesen und Ergebnis wieder in Datei schreiben Java Basics - Anfänger-Themen 5
D Eingabe aus Dialog, Ergebnis an Panel Java Basics - Anfänger-Themen 2
K OOP Wertebereich Ergebnis von % Operator Java Basics - Anfänger-Themen 8
M sonderbares ergebnis Java Basics - Anfänger-Themen 3
M Normale Rechnung - komisches Ergebnis. Java Basics - Anfänger-Themen 10
Y Ergebnis einer Berechnung an die Main Methode übergeben Java Basics - Anfänger-Themen 11
T Methoden Testen und schaun ob richtiges Ergebnis? Java Basics - Anfänger-Themen 5
B Warum kommt immer die 0 als Ergebnis? Was habe ich falsch gemacht? Java Basics - Anfänger-Themen 18
B Wiese wird das Ergebnis nicht gekürzt? Java Basics - Anfänger-Themen 11
F Mit Ergebnis weiterrechnen - Zinseszinsrechnung Java Basics - Anfänger-Themen 3
neurox Ergebnis der if-Bedingung weiter verwenden Java Basics - Anfänger-Themen 5
Rudolf Verstehe das Ergebnis nicht - bitte erklären Java Basics - Anfänger-Themen 7
T JOptionPane mit .showInputDialog: Ergebnis abfragen? Java Basics - Anfänger-Themen 2
D JSP include wie bei php? (inhalt statt ergebnis einfügen)) Java Basics - Anfänger-Themen 24
S main-Methode gibt unerwartetes Ergebnis aus Java Basics - Anfänger-Themen 4
-horn- Prozentstatus bei gradem Ergebnis von x/y für 0,10,20.100% Java Basics - Anfänger-Themen 3
cowabunga1984 Ergebnis mit Threads berechnen und per return zurückgeben? Java Basics - Anfänger-Themen 3
-horn- Variable von PHP an Java übergeben und Ergebnis zurückgeben? Java Basics - Anfänger-Themen 10
B Zwei int Werte dividieren - Ergebnis Double Java Basics - Anfänger-Themen 15
G divisions ergebnis runden Java Basics - Anfänger-Themen 3
M Mouse Listener liefert das ergebnis 2 mal! Java Basics - Anfänger-Themen 2
B equals() der Klasse Objects liefert unerwartetes Ergebnis Java Basics - Anfänger-Themen 17
1 Ergebnis in ein Jlabel bringen Java Basics - Anfänger-Themen 3
G Ergebnis nicht nachvollziehen? Java Basics - Anfänger-Themen 6
C Wie erhalte ich nur ganze Zahlen als Ergebnis einer Division Java Basics - Anfänger-Themen 4
S Eingelesenes Array in JTable bringt kein Ergebnis Java Basics - Anfänger-Themen 8
G komisches Ergebnis beim Addieren von doubles Java Basics - Anfänger-Themen 2

Ähnliche Java Themen

Anzeige

Neue Themen


Oben