Sziasztok,
Íme egy egyszerű kód:
public class AvarageNumber {
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
// TODO code application logic here
int num1 = 10;
int num2 = 22;
int num3 = 45;
float ave = (num1 + num2 + num3)/3;
System.out.println( "Első szám értéke : " + num1 );
System.out.println( "A második szám értéke : " + num2 );
System.out.println( "A harmadik szám értéke: " + num3);
System.out.println( "A számok átlaga : " + ave);
}
}
Az ave értéke 25.0 lesz. Nem kellene autómatikusan típuskonverziót végrehajtania a java -nak? Akkor kapok helyes értéket, ha a num[1-3] típusát szintén float -ként adom meg. Ellenben ez így nem mindig szerencsés, mert nembiztos, hogy tudod előre, hogy milyen műveleteket fogsz végrehajtani egy változón. Felvilágosítani erről valaki egy kicsit? Kb. két napja foglalkozok Java -val, szóval csak finoman a kritikákkal :)
- 866 megtekintés
Hozzászólások
ha két egész típusú számot ( num1+num2+num3 is egész típusú meg a 3 is egész típusú) osztasz egymással akkor annak az eredménye is egész típusú lesz. ám ha valamelyik már lebegőpontos akkor az eredményed már lebegőpontos lesz, és megkapod a várt értéket.
két megoldás:
1. float ave= (num1+num2+num3)/3.0f;
2.
float ave= (num1+num2+num3);
ave/=3;
- A hozzászóláshoz be kell jelentkezni
Köszi szépen, így már világos.
Ha jól sejtem, az első megoldás az elegánsabb.
- A hozzászóláshoz be kell jelentkezni
amig a 3 konstans addig igen.....
- A hozzászóláshoz be kell jelentkezni
Ez szerintem egy jó alap lehet és választ kapsz a kérdéseidre is, olvasgasd. :)
http://java.sun.com/docs/books/jls/
- A hozzászóláshoz be kell jelentkezni
király :) Köszi!
Egyébként van jól használható magyar nyelvű könyv, amiből érdemes lenne az alapokat megtanulni? Nincs az angollal semmi bajom, de jobban, gyorsabban megértem azt, amit magyarul olvasok.
- A hozzászóláshoz be kell jelentkezni