Konvertierung des int typs in den double typ für die Ausgabe mit Nachkommastellen

Diskutiere Konvertierung des int typs in den double typ für die Ausgabe mit Nachkommastellen im Java Basics - Anfänger-Themen Bereich.
C

Codix

Hallo zusammen

Aufgabe:
Schreiben Sie ein Programm, das zwei int-Werte über grafische Dialoge einliest und in int-Variablen speichert. Der erste eingelesene Wert soll durch den zweiten eingelesenen Wert dividiert werden. Die Ausgabe soll als Typ double erfolgen. Achten Sie dabei bitte darauf, dass auch für Divisionen wie 10 / 3 die Stellen nach dem Komma im Ergebnis erscheinen.

Lösungscode:

import javax.swing.JOptionPane;

public class java_02 {

public static void main(String[] args) {
// TODO Automatisch generierter Methodenstub
int a, b;

a = Integer.parseInt
(JOptionPane.showInputDialog("Bitte geben Sie die erste Zahl ein:"));
b = Integer.parseInt
(JOptionPane.showInputDialog("Bitte geben Sie die zweite Zahl ein:"));

//Double.parseDouble(a);
//Double.parseDouble(b);
System.out.println("Das Ergebnis der Division von "
+ a + " und " + b + " ist " + (a / b));
//das Programm zur Sicherheit ausdrücklich beenden
System.exit(0);
}
}

=====================

es fehlt die Konvertierung des int typs in den double typ für die Ausgabe mit Nachkommastellen:

Soll ich nach diesem Prinzip vorgehen:
Bsp.:
int x=1234613;
double y=x;


???
wie genau muss der code heissen?

muss ich davor int a, b initialisieren? Wenn ja, wie? Wie genau sollte der code aussehen?

Bitte schreibt mir eure Antworten. Möglichst präzise und korrekt.

Danke und viel Erfolg
 
J

JustNobody

Die Division eines int durch einen int ist erst einmal ein int.

Damit du also ein double Ergebnis bekommst, musst Du ein double durch einen int teilen. Du kannst das natürlich über eine separate Zuweisung machen, aber ein cast reicht schon aus. Damit ein int Wert als double genommen wird, kannst Du einen einfachen cast machen, also sowas wie (int) a.

Und Variablen müssen immer erst initialisiert werden. Und Variablen sollten korrekt benannt werden. a, b, ... sind ganz beschissene Namen. Wie heißen denn die Operatoren bei einer Division? Dividend und Divisor. Da wären das doch schon einmal deutlich bessere Namen....

Aber was das eigentliche Thema angeht: Spiel doch einfach mal etwas rum und gib aus:
System.out.println( 10 / 3 );
System.out.println( (double) 10 / 3 );
System.out.println( 10 / (double) 3);
System.out.println( (double) (10 / 3) );

Vorab kannst Du Dir natürlich überlegen, was für ein Ergebnis du jeweils erwartest ...
 
C

Codix

Danke JustNobody!

Ich habe den code jetzt etwas umgeändert:

import javax.swing.JOptionPane;

public class java_02 {

public static void main(String[] args) {
// TODO Automatisch generierter Methodenstub
int dividend, divisor;

dividend = Integer.parseInt
(JOptionPane.showInputDialog("Bitte geben Sie die erste Zahl ein:"));
divisor = Integer.parseInt
(JOptionPane.showInputDialog("Bitte geben Sie die zweite Zahl ein:"));

//Double.parseDouble(a);
//Double.parseDouble(b);
System.out.println("Das Ergebnis der Division von " + dividend + " und " + divisor + " ist " + ((double) dividend / divisor));
//das Programm zur Sicherheit ausdrücklich beenden
System.exit(0);
}
}

& ich bekomme tatsächlich Werte mit Nachkommastellen raus!

Aufgabe mit deiner Hilfe gelöst!

Danke nochmals!

:)

Codix
 
VfL_Freak

VfL_Freak

Dir wurde hier jetzt schon mehr geschrieben, dass Du bitte die Code-Tags nutzen sollst, da sie nicht Spaß da sind!
So bekommt man Augenkrebes!!

VG Klaus
 
Thema: 

Konvertierung des int typs in den double typ für die Ausgabe mit Nachkommastellen

Passende Stellenanzeigen aus deiner Region:
Anzeige

Anzeige

Anzeige
Oben