Datentypen double x als Bruch aus Integern macht x zu integer?

Katschka

Neues Mitglied
Hi,

ich arbeite gerade an einem Problem bei welchem ich als Eingabe ein Feld aus Integern habe und zwischendurch diverse Brüche und vor allem die Nachkommastellen benötige. Dabei habe ich aber festgestellt, dass mir

Java:
public class Test
{
    public Test(int Werte[])
    {
        double x = Werte[0] / Werte[1];
        System.out.println("x =" + x + "; Werte[0] =" + Werte[0] + "; Werte[1] =" + Werte[1]);
    }
}

als ausgabe einen integer liefert, auch wenn sich dieser syntaktisch als double tarnt.
Beispiel: ich lese das Feld {7,4} ein und erhalte demnach (theoretisch) x=1.75. Als Ausgabe bekomme ich jedoch 1.0, es wird also augenscheinlich ein Integer berechnet.
Probeweise habe ich aus dem int-Feld mal ein double-Feld gemacht und auch die korrekte Ausgabe erhalten.

Jetzt frage ich mich natürlich, da ich eine unmenge an Daten einzugeben habe, was ich da machen kann, um nicht jedes mal ein ".0" anhängen zu müssen.
Soweit ich weiß gibt es eine Möglichkeit, aus dem Integer-Feld ein Double-Feld zu machen, kann mich jedoch nicht mehr recht dran erinnern wie das ging.
Falls es nicht eine noch einfachere Möglichkeit gibt, das der Bruch direkt korrekt ausgegeben wird.

Ps.: Was passiert eigentlich bei periodischen Zahlen, z.B. 1/3? Darf ich davon ausgehen das ab einem bestimmten Maß an Nachkommastellen automatisch die Berechnung abgebrochen wird?

MfG,
Katschka
 
Du führst da eine ganzzahldivision aus (int / int). Caste einen Wert bspw. zu nem double, dann passts:

Java:
double x = ((double) Werte[0]) / Werte[1]

Variablen besser klein schreiben.
 
Wenn das schon reicht bin ich froh ^^
Auch wenn ich nicht ganz verstehe warum ich extra nochmal den Zähler umcasten muss, da x ja als double bereits deklariert ist und mir der Bruch auch einen liefern würde...

Nya, is mir gerade auch Wurscht, will heute einfach nur noch fertig werden, von daher:
Vielen Dank für die schnelle Antwort.
 

Zurück
Oben