blue-phoenix
@blue-phoenix

Are you sure you want to delete the question?

Leaving a resolved question undeleted may help others!

javaの割合について

Q&A

Closed

javaの問題で割合を書いているのですが望んだ数値が出ません。

5000匹の鳥を40%引きで逃がして、残りをさらに30%引きで逃がしました。
残りは何羽でしょう?

  int m = 5000;
int p = 40;
int q = 30;

int uri1 = (int)(m * (1 - p / 100));
int uri2 = (int)(uri1 * (1 - q / 100));
 System.out.println(uri2);
}

}

と書いて、答えは2100匹だと今回は分かっています。
ですが、こう書いても5000からまったく変動していません。
どこか欠点があるのか御教授お願いします。

0

1Answer

小数値が必要な場所でもintで宣言した変数をそのまま使っているのが原因ではないでしょうか。

int a = 40;
float b = 40;

System.out.println(a / 100); // 0
System.out.println(b / 100); // 0.4
System.out.println(a / 100.0); // 0.4
System.out.println((float)a / 100); // 0.4
2Like

Comments

  1. @blue-phoenix

    Questioner

    intは整数のみ、ああああそうでした。
    基本的な事すら抜けていただけで、こんな初心者に御指摘ありがとうございました! フォロー入れておきます!

Your answer might help someone💌