スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
このエントリーをはてなブックマークに追加

[iOSとAndroid]時間から乱数を生成する

第一引数(total)に指定した個数だけ数値を生成し、配列を返します。
第二引数(min)から第三引数(max)までの数値の間で乱数を生成します。
(minが0でmaxが99なら、0から99の数字のどれかを生成する)
//Objective-C(iOS)
//total個の(min〜maxまでの間の)数値配列を返す
- (NSArray *)randomNumbers:(int)total From:(int)min To:(int)max {
NSMutableArray *numbers = [NSMutableArray array];
// 現在の日時を用いて乱数を初期化する
srand([[NSDate date] timeIntervalSinceReferenceDate]);
for (int i=0; i < total; i++) {
int randomNumber = (rand() % (max-min)) + min;
[numbers addObject:[NSNumber numberWithInt:randomNumber]];
NSLog(@"randomNumbers number[%d]:%d",i,randomNumber);
}
return numbers;
}
//Java(Android)
//total個の(min〜maxまでの間の)数値配列を返す
private static final int RANDOM_MAX = 0x7fffffff;
protected ArrayList<Integer> randomNumbers(int total,int min,int max) {
ArrayList<Integer> numbers = new ArrayList<Integer>();
// 現在の日時を用いて乱数を初期化する
Random rand = new Random(System.currentTimeMillis());
for (int i=0; i < total; i++) {
int randomNumber = ((rand.nextInt(RANDOM_MAX)) % (max-min)) + min;
numbers.add(Integer.valueOf(randomNumber));
Log.v("randomNumbers","number["+i+"]:"+randomNumber);
}
return numbers;
}

※乱数のシード値を時間で指定しているため複数スレッドでのアクセス時には同一のシード値で乱数生成する可能性があります。
このエントリーをはてなブックマークに追加

tag : iOS Android 乱数 random

コメントの投稿

非公開コメント

Translation


上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。
プロフィール

チーズくん

Author:チーズくん
個人的メモをただ羅列しています。
twitter:@cheese1038

バロメーター
最新記事
最新コメント
最新トラックバック
月別アーカイブ
カテゴリ
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。