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

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

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

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

Android

Androidは、Google社が開発したスマートフォンやタブレットなど携帯端末向けのプラットフォームです。 カーネル・ミドルウェア・ユーザーインターフェイス・ウェブブラウザ・電話帳などのアプリケーションやソフトウェアをひとつにまとめて構成。 カーネル・ライブラリ・ランタイムはほとんどがC言語/C++、アプリケーションなどはJavaSEのサブセットとAndroid環境で書かれています。

Q&A

1回答

2459閲覧

Random.nextInt()で引数に最大値がいくつになるか分からない変数を指定した場合の取得した乱数を一つずつ使用したい

coldrain41

総合スコア11

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

Android

Androidは、Google社が開発したスマートフォンやタブレットなど携帯端末向けのプラットフォームです。 カーネル・ミドルウェア・ユーザーインターフェイス・ウェブブラウザ・電話帳などのアプリケーションやソフトウェアをひとつにまとめて構成。 カーネル・ライブラリ・ランタイムはほとんどがC言語/C++、アプリケーションなどはJavaSEのサブセットとAndroid環境で書かれています。

0グッド

1クリップ

投稿2016/05/18 03:34

編集2016/05/18 06:23

Random.nextInt()で引数に最大値がいくつになるか分からない変数(temp)を指定した場合
生成された乱数(0 ~ temp-1)をif文でそれぞれ使用することは可能でしょうか?


Random random = new Random();
int r = random.nextInt(temp);
if(r == /取得した乱数を使用して場合分け/){

}else if(r == /* */){

}else if(r == /* */){・・・・・・・・


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

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

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

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

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

fuzzball

2016/05/18 03:53

質問の意味がわかりません。int r = random.nextInt(temp); で乱数を取得しています。あなたの言う「乱数を取得」というのはどういう意味でしょうか?
swordone

2016/05/18 05:33

場合分けのパターンが乱数の最大値によって異なるという話でしょうか? であればロジックを考え直した方がいいかと。どんなことをしたいかを教えていただければいい方法を教えられるかと思います。
coldrain41

2016/05/18 05:59

fuzzballさん 失礼しました。 取得した乱数を一つずつif文の中で使用したいです。
swordone

2016/05/18 06:07

一回につき乱数は一つしか出せません。ひょっとしたらループの話で解決しませんか?
coldrain41

2016/05/18 06:12

swordoneさん その通りです。具体的には、NumberPicerによって指定された数だけ乱数を生成し、それにより確率を設定したいです。 NumberPicerの数値が5なら、1/5で~、1/5で~、3/5で~ といった具合です。
1208_sasaki

2016/06/02 04:54

乱数を複数回発生させたいのか 確率のように条件分岐させたいのか ちょっと意図がわかりにくいのでなんとも言えませんが 上のどちらかに当てはまりますか?
退会済みユーザー

退会済みユーザー

2016/08/26 13:33

数億行のソースをかけばいくらでも可能では?
guest

回答1

0

###はじめに
質問主さんの質問の意図がしっかりとキャッチできませんでしたが,このようなことでしょうか?
以下のプログラムでは,if文でやるよりも,配列を作ってしまったほうがいいと思ったのでこのようにしました.
問題は解決しましたでしょうか?
質問の意図を取り違えていた場合は,どのように違うのか教えてください.

また,Androidでの開発を考えているのでしょうか?
私はAndroidのプログラミングについては知識がないので,出力はコンソール画面におこないました.
また,tempおよびnumの回数も,今回はあらかじめ指定しました.

temp=6;

num=100;

###ソースコード

Java

1import java.util.Random; 2 3class Teratail{ 4 public static void main(String[] args){ 5 Random random = new Random(); 6 7 int[] result; //結果の配列 8 int temp; //"最大値がいくつになるかわからない変数" 9 int num; //乱数生成回数 10 int r; 11 12 temp=6; //今回は6にする. 13 num=100; //100回抽選 14 15 result = new int[temp]; 16 for(int i =0; i<result.length; i++) 17 result[i]=0; 18 19 for(int i =0; i<num; i++){ 20 r = random.nextInt(temp); 21 result[r]++; 22 } 23 for(int i =0; i<result.length; i++){ 24 System.out.printf("result[%d]-->%d回(%2.1f%%)\n" 25 ,i,result[i],(double)result[i]/num*100); 26 } 27 } 28}

###実行結果一例

result[0]-->15回(15.0%) result[1]-->16回(16.0%) result[2]-->20回(20.0%) result[3]-->17回(17.0%) result[4]-->15回(15.0%) result[5]-->17回(17.0%)

投稿2016/08/26 13:18

編集2016/08/26 13:21
退会済みユーザー

退会済みユーザー

総合スコア0

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問