質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

Q&A

解決済

2回答

1167閲覧

javascript入門 Math.random

fj-kakeru

総合スコア29

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

0グッド

0クリップ

投稿2018/03/13 15:31

編集2018/03/13 15:35

javascript入門書をよんでいて疑問が出てきました。

サイコロの目と同じように1~6の数がほしければ次のようにします。

Math.floor(Math.random()*6)+1

6がでてきて、+1したら7になりますよね。。。?
上限が6ということになるのでしょうか??

基本的なことがわかっていないかもしれません。
Math.randamとはそもそもどういうものなのでしょうか。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

メソッド・関数の動作はリファレンスを見ましょう。
https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Global_Objects/Math/random

0以上1未満の数を6倍すると、0以上6未満の数になります。6になることはありません。

投稿2018/03/13 15:34

otn

総合スコア84555

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

sousuke

2018/03/13 22:47

入門書ってそれぐらいの疑問ならすぐ解消出来るように式の前後に説明書かれていそうなもんだと思うんですが…質問者さんもrandomやfloorについて調べなかったんですかね…
guest

0

ベストアンサー

イメージ説明

リファレンスを参照することに加えて、JavaScriptは簡単にコードをブラウザーのコンソールで実行して動作確認が出来るので、学習する際にはコンソールにバンバン打ち込んで、動作確認をして行くと良いかと思います。

Chromeの場合であれば、メニューバーから「表示」 -> 「開発/管理」 -> 「JavaScriptコンソール」でコンソールを開けるので、ここに上の添付画像のようにJavaScriptのコードを打ってリターンキーを押せば実行されます。

添付画像の説明

  1. Math.random()は0以上1未満の浮動小数点をランダムで返す関数
  2. Math.floor()は小数点以下を切り捨てる関数(つまり、0.9であっても0になる)
  3. Math.random()の実行結果が例えば0.1の場合、6をかけても0.6になる。これにMath.floorが適用されるので結果、0になる。欲しいのは1〜6なのに、これでは0が返ってくる可能性が生じる。
  4. そこで!!!

6がでてきて

質問の答えに上記なっていなかったので補足です。

Math.random()の結果が仮に0.9...であった場合、これに6をかけ合わせたとしても、
結果は6未満なので、Math.floorが適用されると、 5になりますよね。
なので、「6がでてきて」のところで誤りがあります。

投稿2018/03/14 01:10

編集2018/03/14 01:17
HayatoKamono

総合スコア2415

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問