int konvertieren zu double

Status
Nicht offen für weitere Antworten.

Thomas

Neues Mitglied
Die Suchfunktion hat mir leider als Newbie nix gebracht. :roll:

Und zwar hätt ich gern bei folgendem Programm, welches einen simplen Notendurchschnitt berechnet, dass die Eingabe von Dezimalwerten möglich ist. Klar könnte man alle nötigen int-Werte einfach auf double umschreiben aber ich hätt hier gern ein Konvertierung in double um das Thema zu verstehen. Schaff es aber selber nicht :roll:

Code:
import java.io.*;
import java.lang.*;

class Auf2_2 {
	public static int intEinlesen() throws IOException{				
		String s;int zahl;
		BufferedReader d;							
		d = new BufferedReader(new InputStreamReader(System.in));
		s = d.readLine();
		zahl = Integer.parseInt(s);						
		return zahl;
	}
	public static int durchschnitt(int m, int p, int r, int s){
		int ergebnis = (int) (m+p+r+s)/ 4;
		return ergebnis;
	}
	public static void main (String[ ] args) throws IOException {
		//Variabeln deklarieren
		int mathe;
		int physik;		
		int religion;	
		int sport;
		//Faecher einlesen
		System.out.println("Noteneingabe"); 
		System.out.print("Mathe: ");				
		mathe = intEinlesen();
		System.out.print("Physik: ");					
		physik = intEinlesen();
		System.out.print("Religion: ");					
		religion = intEinlesen();
		System.out.print("Sport: ");					
		sport = intEinlesen();
		System.out.println("\nNotendurchschnitt");
		System.out.println("Mathe:" +mathe);
		System.out.println("Physik:" +physik);
		System.out.println("Religion:"+religion);
		System.out.println("Sport:"+sport);
		System.out.println("Notendurchschnitt:"+durchschnitt(mathe, physik, religion, sport));
	}
}
 
so:
Code:
double note = (double)einInteger;
 
ich nehme an du willst die noten als doubles haben, also:
Code:
double mathe;
      double physik;      
      double religion;   
      double sport; 
//.. blabla
mathe = (double) intEinlesen(); 
// und bei den anderen genauso
System.out.println("Notendurchschnitt:"+durchschnitt(mathe, physik, religion, sport)); //im kopf von durchschnitt() muss du dann halt die ints mit doubles vertauschen
 
einfacher als beschrieben:
Code:
double z1;
int z2=5;
z1=z2;

da der wertebereich von double grösser ist als von int gibts dabei überhaupt keine probleme mit der umwandlung
wenn das ganze andersrum gehen soll, musst du allerdings (int)z1 nehmen.
 
hmja stimmt. das (double) kannst du weg lassen, aber im methodenkopf musst du die variablen als doubles deklarieren, sonst gibts nen compilerfehler
 
Status
Nicht offen für weitere Antworten.

Zurück
Oben