0

Java での以下のコードの出力は3.0.

なぜそうではないの3.3333333...ですか?

double a = 10 / 3;
System.out.println(a);
4

1 に答える 1

6

int / intを返すため(int後で何に割り当てたかに関係なく)。

したがって、10 / 3戻ります3(整数除算は切り捨てられます)。

これは、その後にのみ変換されdoubleます。

これを修正するには、値の 1 つを a にしますdouble(double / intつまり、 a を返すdouble)。

double a = 10.0 / 3;

また

double a = (double)10 / 3;
于 2013-09-04T16:16:14.400 に答える