• ベストアンサー

Javaのランダムについて!

こんにちわ。 今私はJavaを勉強しています。C言語はもうマスターしました。気づくとJavaはC言語に似ている気がします。 本題に入ります。 この度、1~100までの数から無作為に6個の数を選んで表示する。 というプログラミングに取り組んでいます。が、しかし、全くわかりません。randを使うと良くないので、それを使わないやりかたを教えていただいてもよろしいでしょうか?

  • Jack3
  • お礼率17% (153/868)
  • Java
  • 回答数3
  • ありがとう数1

質問者が選んだベストアンサー

  • ベストアンサー
回答No.2

>C言語はもうマスターしました。 すげー。 とてもついこないだまでjavacコマンドに四苦八苦してた人とは思えない発言だ。 しかもそれだけの知識があるのならこの質問もしなくてすむような応用力があっても良さそうな感じだが。 本題に入ります。(笑) >全くわかりません。 何がわからないのでしょうか? それを書かないと回答しづらいです。 のでここからは想像で回答します。 >randを使うのと良くないので rand??? java.util.Randomクラスのことかな? なんで↑を使うことが良くないのかはわかりませんが、 他には java.lang.Math.random()で0.0以上1.0未満のdoubleが返ってきますので、こいつを利用すればいいのでは? もしくは java.lang.StrictMath.random()でも同じです。 あっ、Mathクラスのramdomメソッドを使うと良くないって言ってるのか? ならば java.util.Ramdom.nextInt()を使えばいいと思う。 うーん。 >randを使うと良くない の言葉がひっかかるのだが、Javadocには ---java.lang.Mathのrandomの説明抜粋--------------- 最初にこのメソッドが呼び出されたときに、メソッドは単一の新しい擬似乱数ジェネレータを作成します。これは、次の式とまったく同じです。 new java.util.Random ---java.lang.Mathのrandomの説明抜粋--------------- とあるし、 ---java.util.Randomの概要抜粋--------------------- ほとんどのアプリケーションでは、クラス Math の random メソッドを使う方が簡単です。 ---java.util.Randomの概要抜粋--------------------- とあるので、どちらを使っても大して変わらないような気がするが… ※Java 1.3のjavadocなので、質問者さんが使ってるバージョンと違う可能性が大です。 !? それとも自力で乱数表を作って、そこから取り出すってことか!? だとしたらごめんなさい。 Randomクラスのソースを参考にして下さい。としか言えません。

Jack3
質問者

補足

すいませんでした。 >C言語はマスターしました。 ぜんぜんマスターしていません。嘘をついて申し訳ございませんでした。 私は何もわかってないクズの中のクズです。 回答どうもありがとうございました。 先日のJavac でのコンパイルですが・・・どうしてもできません。 親のパソコンだとできるんですが自分のだとできません。インストールからやり直したにもかかわらずできませんでした。おそらく何処か故障しているのかな?

その他の回答 (2)

  • BLUEPIXY
  • ベストアンサー率50% (3003/5914)
回答No.3

>randを使うと良くないので randを使うと良くない理由は何でしょうか? 線形合同法による乱数がよろしくない、メルセンヌツイスターがよろしいとかそういうことでしょうか? >無作為 を実現するには、いずれにせよ、PC上での擬似乱数が必要です。 もし、重複する値が問題になるなら、 nextInt(100)+1; で取り出した値のリストと候補の数を比べて、同じ値だったら、もう一度試行するというようにすればいいかと思います。

  • ymmasayan
  • ベストアンサー率30% (2593/8599)
回答No.1

「randを使うとよくない」というのは重複ができるということでしょうか。 それなら入れ替え法を使うといいと思いますが、以前の質問でかなり議論されています。 参考URLをどうぞ。 余談ですが、JAVAはC言語からポインタを外してオブジェクト指向を 入れたものですね。

参考URL:
http://oshiete1.goo.ne.jp/kotaeru.php3?q=1240730

関連するQ&A

  • 新言語プログラミング2005?

    以前にC/C++言語・Javaプログラミングを勉強したことがあるのですが、今は違う業界にいて、最近では何のプログラミングが最新なのか分かりません。 「これから」という新言語プログラミングを、誰か知っていたら教えてください。 ちなみに、C言語とJavaの検定・2級を持ってます。

  • Javaの勉強

    Javaを勉強しようと思っています。 初心者にもわかりやすくJavaを 教えてくれるオススメの本を教えて下さい! または、サイトでもいいです!!m(__)m プログラミングはC言語をやっていました。

  • Javaの勉強

    Javaを勉強しようと思っています。 初心者にもわかりやすくJavaを教えてくれる オススメの本を教えて下さい! または、サイトでもいいです!! プログラミングの経験はC言語です。

  • JAVA と C について

    これから JAVA の勉強を始めようかと 考えています. C は昔からやっています. JAVA と C を比べたときの 長所,短所を教えてもらえませんか? プログラミングの使用は グラフィカルなシミュレーションを 行いたいと考えています. ちなみに C では OpenGL を使っています. JAVA も OpenGL が使えるんですよね? OS は Windows も Linux も使います.

  • CをJavaに変換

     プログラミング初心者です C言語どうしのソケットプログラムのServer側をJava言語に書き換えC言語(Windows版)とJava言語での通信プログラムを行おうとしています。  C言語の最初の宣言で #include <stdio.h> #include <winsock2.h> #include <ws2tcpip.h> のところはJavaではどのように書き換えればいいのでしょうか? ご返答お願いします。

    • ベストアンサー
    • Java
  • javaの学習について

    現在Cを一通り勉強し終わって次にjavaに入ろうと考えています。 プログラミング言語はCを知っているのである程度プログラミングが どの様なものかを理解している人向けの参考書を探しています。 どなたかお奨めを教えて下さい! もしくは効果的な勉強方法を教えていただけると助かります。 よろしくお願いします!

    • ベストアンサー
    • Java
  • プログラミング言語についてです。

    私はプログラミング言語を勉強しようとしていますが、cかjavaをしようとしてます。 最終的にはどちらもできるよう努力しますが、どちらからしたらいいのでしょうか? それと、cとjavaって似たようなとこってありますか? 教えてください。

  • Javaプログラミング 覚える順序

    Javaプログラミングを勉強していて困っていることがあるのですが、私は今、用語辞典を見ながらやりたい作業だけ調べて覚えて言っている感じで、例えていうなら、掛け算は知っているのに足し算は知らないような状況なんです。一応、Java用語辞典を問題なく読めて、すごく簡単な操作ができる状況では在るのですが・・・。なので、初心者が勉強すべき順序を教えてほしいんです。 (例えば)変数⇒出力⇒()・・・・ある程度高度なJava言語まで こんな感じで・・・そういうサイトでも歓迎です。よろしくお願いします。

    • ベストアンサー
    • Java
  • プログラミング言語の習得について

    プログラミング言語の習得について こんにちは。某大学の理工学部数学科に通う4年生です。 プログラミング言語について質問させていただきます。 僕は先日基本情報技術者試験を受験しました。 その試験ではプログラミング言語を1つ習得しないといけなかったためC言語の入門書を一冊勉強しました。 今家にはC++とJavaの入門書、C言語の中級書もあります。 そこで質問なのですが、 続けてプログラミング言語を勉強するには、C言語の中級書、上級書というように1つの言語を徹底的にマスターした方がいいですか? それとも、C++、Javaの入門書を一通りやってC以外の言語も一応使えるようにした方がいいですか? ちなみに大学院に進学する予定なのでまだまだ勉強できる環境にあります。 宜しくお願いします。

  • JAVAで作るプログラムとは

    HPに使うJAVAスクリプトの勉強をしたく、JAVAとスクリプトは違う事を知らずにJAVAの通信教育を申し込んでしまいました。 JAVAはサーバー側のプログラミング言語で、 スクリプトはクライアント側のスクリプト言語でブラウザ上で動作する。 申し込んだものは仕方ないので頑張ってJAVAを理解したいと思うのですが、 ネット上のJAVA講座を見ると最初にJAVAをインストールするとあります。 これはJAVAを作成するソフトのようなものですか? JAVAで作るプログラムとはOSのようなものですか? JAVAでプログラムを作ってHPの更新やスクリプトが作成できるのですか? そもそもJAVAで作るプログラムとはどのように利用するのか、 プログラムの意味がよく分かりません。 JAVAとスクリプトの違いはもう良いのでプログラムについて 分かりやすく教えてください。

    • ベストアンサー
    • Java

専門家に質問してみよう