- PR -

VB.NETでランダムに数値を取得する方法。

1
投稿者投稿内容
kazurock
常連さん
会議室デビュー日: 2005/01/24
投稿数: 40
投稿日時: 2005-05-26 14:39
1,2,4,6,9,11,32,22と言うような数字があった際、この中からランダムで数値を取る方方を教えてください。
System.RANDOMの使い方がいまいちわからないのでお願いします。
プワゾン
会議室デビュー日: 2005/01/28
投稿数: 13
投稿日時: 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 ]
一郎
ぬし
会議室デビュー日: 2002/10/11
投稿数: 1081
投稿日時: 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 ]
じゃんぬねっと
ぬし
会議室デビュー日: 2004/12/22
投稿数: 7811
お住まい・勤務地: 愛知県名古屋市
投稿日時: 2005-05-26 15:17
こんにちは、じゃんぬ です。

引用:

1,2,4,6,9,11,32,22と言うような数字があった際、この中からランダムで数値を取る方方を教えてください。
System.RANDOMの使い方がいまいちわからないのでお願いします。



はい。

  乱数 (ランダムな数) を取得する

何番目を取るかさえ取得すれば、後は簡単ですよね。



_________________
C# と VB.NET の入門サイト
じゃんぬねっと日誌
なか-chan@最愛のiMac
ぬし
会議室デビュー日: 2002/07/17
投稿数: 385
お住まい・勤務地: 和光市・世田谷区
投稿日時: 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

スキルアップ/キャリアアップ(JOB@IT)