3 svar
366 visningar
solaris behöver inte mer hjälp
solaris 238 – Fd. Medlem
Postad: 25 nov 2018 12:28

multiplikation med variabelnamn

Hej jag försöker förstå hur java multiplicerar o dividerar. Jagförstår inte hur det funkar då man väljer variabelnamn eller väljer o skriva det rakt ut. För vol2 och vol22 tycker jag är identiska men de får olika värden

AlvinB 4014
Postad: 25 nov 2018 12:38 Redigerad: 25 nov 2018 12:38

När du skriver "4/3" i vol22 blir både 4 och 3 heltal. Därför antas 4/3 vara en heltalsdivision och således klipps decimaldelen av så att svaret blir ett heltal (1.33... blir 1).

Om du däremot specificerar att du vill ha svaret på divisionen som double genom att casta blir svaret som förväntat:

double vol22 = pi*((double) 4/3);

solaris 238 – Fd. Medlem
Postad: 26 nov 2018 08:26

okej men på vol12. där så multipliceras 4 och pi först och delas sen på tre. eftersom pi är en double så blir väll inte det en heltalsdivision då det divideras med 3?

Laguna Online 30251
Postad: 26 nov 2018 10:23
solaris skrev:

okej men på vol12. där så multipliceras 4 och pi först och delas sen på tre. eftersom pi är en double så blir väll inte det en heltalsdivision då det divideras med 3?

Det stämmer, det blir flyttalsdivision.

Svara
Close