-2

わかりましたので、これは意味をなさないように見える大きなコードの問題です。以下は問題のコードです...Ratio = 0.0起動時にコンソールを出力します。これは〜0,348に等しいはずです。

public class MathTest {

    public static void main(String[] args) {

        double ratio = 29511 / 84812;
        System.out.println("Ratio = "+ ratio);

    }

}

編集:

コードが次の場合:

public class MathTest {

    public static void main(String[] args) {
        int int1 = 7;
        int int2 = 13;
        double double1 = int1/int2;
        System.out.println("double1 = "+ double1);

    }

}

再び「0.0」が出力されます。

4

4 に答える 4

3

29511とが整数であるため、整数除算を行ってい84812ます。除算の結果は 0 で、これを double として保存しているので 0.0 になります。

これを修正するには、代入の右側にあるオペランドの 1 つを double にキャストします。

double ratio = (double)29511 / 84812;
于 2013-05-20T17:47:25.257 に答える
0

double ratio = 29511 / 84812に置き換えdouble ratio = 29511.0 / 84812.0ます。

于 2013-05-20T17:47:01.343 に答える
0

それは完全に理にかなっています。整数を取得するために 2 つの整数を除算しています。この場合、これは 0 を意味します。

于 2013-05-20T17:47:08.210 に答える