Datentypen Von int in double umrechnen.

Engo

Neues Mitglied
Hi,
ich bin relativ unerfahren mit Java, und bräuchte mal Hilfe zu den Datentypen.
Und zwar habe ich gerade ein Kopfrechnenprogramm geschrieben, was random Zahlen generiert, und sie addiert haben möchte. Ganz simpel eigentlich.

Jetzt wollte ich am Ende noch einen Schlussatz einfügen der ungefähr so aussieht:
"Du hast XX richtige bei XX Versuchen.
Im durchschnitt hast du pro Aufgabe XX,XX Versuche gebraucht."
Die Variablen versuche und richtige sind integers, und der durchschnitt double, da ich dort ja auch Nachkommastellen brauche. Allerdings bekomme ich nur gerade Zahlen zurück. Ich könnte natürlich auch einfach alle in double machen, aber würde mich trotzdem mal interessieren.

Ich hatte bisher gedacht dass in int Variablen nur keine Kommazahlen gespeichert werden können, aber trotzdem mit ihnen weitergerechnet werden kann.

Der Quellcode sollte zwar eigentlich nicht nötig sein, aber ich poste ihn trotzdem mal:
[JAVA=35]import java.util.*;
public class kopfrechnen {

/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner scan = new Scanner (System.in);
Random rand = new Random();
System.out.println("Kopfrechnen starten? (j/n)");
String start = scan.nextLine();
if(start.equals("j")) {
System.out.println("Kopfrechnen wurde gestartet, zum beenden '0' eingeben");
int zahl1;
int zahl2;
int ergebnis;
int versuche = -1;
int richtige = -1;

do {
zahl1 = rand.nextInt(10);
zahl2 = rand.nextInt(10);
richtige++;
do {

System.out.println(zahl1 + " + " + zahl2 + " = ");
ergebnis = scan.nextInt();
versuche++;


} while((ergebnis) != (zahl1 + zahl2) && (ergebnis != 0));
} while(ergebnis != 0);
System.out.println("Kopfrechnen beendet! Du hast für " + richtige + " richtige Antworten " + versuche + " Versuche gebraucht.");
double durchschnitt = (versuche / richtige);
System.out.println("Du hast im Durchschnitt " + durchschnitt + " Versuche gebraucht.");
} else System.out.println("Kopfrechnen beendet!");
}

}
[/code]
 
Java:
    	double durchschnitt = ((double)versuche / richtige);
       System.out.println(durchschnitt);
    }

wenn du es z.b. so machst, würde es gehen... da wenn du zwei INTs mit einandner verrechnest auch ein INT raus kommt
 
Wenn du nur ganze Zahlen dividierst bekommst du auch ein ganzzahliges Ergebnis zurück.

so klappt es:

Java:
double durchschnitt = versuche / (double)richtige;

Die Klammern außenrum brauchst du nicht. ;-)
 

Zurück
Oben