JAVAに挑戦 (入門書も全て正の情報ではない)
昨日はメインの課題が全く進まず
ただダラダラとやっても効率が上がらないので
入門書を読みながら記載されているおさらい部分の
コードを手入力し実行しました。
乱数を発生させるメソッドを使用するものでしたが
100未満の乱数を発生させるためには
修正前
double d = Math.random();
int i = (int) (d*100);
System.out.println(i);
と記載されていたのでコード入力して実行しましたが
1~100の間で乱数表示を想定しているのでしょうが
結果は0でしか表示されませんでした。
なんでやともう一度見直しすると
下記1行目のdoubleの2か所はintで表記されているが
それでは正数の扱いとなる為実行時に0(少数点以下は切り捨てされる為)
で表記されてしまうので
double i = (double) (d*100);
System.out.println(i);
に修正し1~100の間で結果表示されるようになりました。
今までは教科書に載っていることは全部正解と思っていましたが
違う場合もあるのですね。
ひとつ勉強になりました。
このブログへのコメントは muragonにログインするか、
SNSアカウントを使用してください。