Hilfe bei Fehlersuche

krixxie

Grünschnabel
könnte mir bitte einer erklären, waurm bei dem unten genannten beispiel immer eins rauskommt, anstatt das eigentliche ergebniss (3,828..)?

ich bin anfänger und wäre über jede hilfe glücklich : )

dankeschön, schon mal im voraus ;)


________________
class rechnen {

public static void main (String [] args) {

int x = 3;
int y = 4;
int z = 5;
int a = 2;
int b = 7;


System.out.println(("( 3 + 4 ) : 5 ) + 2 * ( 3 : 7 ) = ")
+((x + y) / z + a * x/b ));
}
}
 
dadurch das du den Datentyp int verwendet wird nicht mit Kommazahlen sondern immer mit gerundeten Ganzzahlen gerechnet ----> dann kommt bei Dir immer 1 raus. musst float oder double nehmen.
 
Du hast die Ausgabe falsch gemacht

so ists richtig

System.out.println("( 3 + 4 ) : 5 ) + 2 * ( 3 : 7 ) = " + (x + y) / z + a * x/b );

deine Version

System.out.println(("( 3 + 4 ) : 5 ) + 2 * ( 3 : 7 ) = ") +((x + y) / z + a * x/b ));

MFG Rmi
 
Hallo!

Du verwendest die ganze Zeit nur Ganzzahl division... ;-)
Schau mal hier:
Code:
 package de.tutorials;
 
 public class CalcExample {
 
 	/**
 	 * @param args
 	 */
 	public static void main(String[] args) {
 		calc1();
 		calc2();
 	}
 
 	static void calc1() {
 		int x = 3;
 		int y = 4;
 		int z = 5;
 		int a = 2;
 		int b = 7;
 
 		System.out.println(("( 3 + 4 ) : 5 ) + 2 * ( 3 : 7 ) = ")
 				+ ((x + y) / z + a * x / b));
 	}
 	
 	static void calc2() {
 		double x = 3.0;
 		double y = 4.0;
 		double z = 5.0;
 		double a = 2.0;
 		double b = 7.0;
 
 		System.out.println(("( 3.0 + 4.0 ) : 5.0 ) + 2.0 * ( 3.0 : 7.0 ) = ")
 				+ ((x + y) / z + a * x / b));
 	}
 
 }

Gruß Tom
 
An der Ausgabe hat sich nichts geändert, zumindest nicht bei mir, danke trotzdem : )

danke an die andern beiden, das hat geklappt

bless
kx
 
Zuletzt bearbeitet:
Zurück