- - PR -
VB.NETでランダムに数値を取得する方法。
1
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2005-05-26 14:39
1,2,4,6,9,11,32,22と言うような数字があった際、この中からランダムで数値を取る方方を教えてください。
System.RANDOMの使い方がいまいちわからないのでお願いします。 | ||||
|
投稿日時: 2005-05-26 15:03
kazurockさん こんにちは
配列に入れて取り出す こんなのでどうでしょう? Dim target() As Integer = {1, 2, 4, 6, 9, 11, 32, 22} Dim ram As New System.Random Dim i As Int32 For i = 0 To 5 Console.WriteLine(target(ram.Next(0, UBound(target)+1))) Next はずしてたら ごめんなさい 最後の要素が取れてなかったから(+1) [ メッセージ編集済み 編集者: プワゾン 編集日時 2005-05-26 15:13 ] | ||||
|
投稿日時: 2005-05-26 15:17
Randomクラスは
rnd=new Random(DateTime.Now.Millisecond); などとインスタンスを生成して、 rnd.Next(); でランダムな値を取れますよ。 rnd.Next(8); とすれば0〜7までの値を取れますので、 0→1 1→2 2→4 3→6 4→9 5→11 6→32 7→22 と対応付ければ良いかと。 [ メッセージ編集済み 編集者: 一郎 編集日時 2005-05-26 15:18 ] | ||||
|
投稿日時: 2005-05-26 15:17
こんにちは、じゃんぬ です。
はい。 乱数 (ランダムな数) を取得する 何番目を取るかさえ取得すれば、後は簡単ですよね。 _________________ C# と VB.NET の入門サイト じゃんぬねっと日誌 | ||||
|
投稿日時: 2005-05-26 15:42
kazurockさんこんにちは。
>この中からランダムで数値を取る方方を教えてください。 単にランダムで数値を取ると、同じ数字が何度もでて しまいますので、もし、同じ数字を重複して取り出したく ないという場合は、シャッフルする必要があります。 ↓この辺を参考にされてはいかがでしょうか? http://ray.sakura.ne.jp/tips/shaffle.html http://www.nextftp.com/swlabo/m1_vbnet/hp_tips/hp_tips_80_algorithm/t8003.htm [ メッセージ編集済み 編集者: なか-chan 編集日時 2005-05-26 15:44 ] [ メッセージ編集済み 編集者: なか-chan 編集日時 2005-05-26 15:46 ] |
1