- PR -

java で乱数を発生させる方法を教えてください。

投稿者投稿内容
piyo
常連さん
会議室デビュー日: 2005/05/10
投稿数: 27
投稿日時: 2005-11-28 10:44
こんにちは。只今、java勉強中です。

ランダムのアルファベット3桁を所得したいのですが
方法がわかりません。

調べてみたのですが、数字とアルファベット混在のサンプルばかりで
アルファベットのみの取得がわかりません。

どなたか、分かる方いらっしゃいましたら宜しくお願い致します。
おっきー
大ベテラン
会議室デビュー日: 2003/05/01
投稿数: 104
投稿日時: 2005-11-28 11:19
乱数から 1をA, 2をB, .... と置き換えるだけでは?
それを3回繰り返せば3桁になります。
piyo
常連さん
会議室デビュー日: 2005/05/10
投稿数: 27
投稿日時: 2005-11-28 11:26
早速のご返答ありがとうございます。

「1をA, 2をB・・」に置き換えるということですが
どうのようにして置き換えることができるのですか?
「1の場合だったらA」といったロジックを組むのでしょうか?

すみません。
なんかトンチンカンな質問をしてしまっているかもしれません。。。
ちなみに
「Math.random」というメソッドを使用しています。

宜しくお願い致します。
K
大ベテラン
会議室デビュー日: 2004/04/07
投稿数: 174
投稿日時: 2005-11-28 11:33
Jakarta Commons LangにRandomStringUtils(だったかな?)というクラスがあり、それを使えばお望みのことが一発でできます。

勉強のために自分で実装するのであれば上記のソースコードを参考にしてみるといいと思います。
未記入
会議室デビュー日: 2005/11/28
投稿数: 1
投稿日時: 2005-11-28 11:38
こんにちは。

org.apache.commons.lang.RandomStringUtils
を使えば解決できると思います。

参照リンク:
API: 
http://jakarta.apache.org/commons/lang/api/org/apache/commons/lang/RandomStringUtils.html
ソース:
http://apache.justdn.org/jakarta/commons/lang/source/commons-lang-2.1-src.zip

[ メッセージ編集済み 編集者: 未記入 編集日時 2005-11-28 11:52 ]
かつのり
ぬし
会議室デビュー日: 2004/03/18
投稿数: 2015
お住まい・勤務地: 札幌
投稿日時: 2005-11-28 11:43
1.ランダムで0-25を取得する
2.その値に65を足す
3.その数値をcharに変換する
4.文字列に連結する
5.上記を3回繰り返す

というのでいかがでしょうか。
A-Zまでなら上記のコードで作成可能です。
なぜなら、A-Zはchar型の65-90に対応しているからです。
piyo
常連さん
会議室デビュー日: 2005/05/10
投稿数: 27
投稿日時: 2005-11-28 13:02
みなさん、親切にありがとうございます。

A-Zはchar型の65-90に対応しているということで
ランダムな「65-90」の数値を生成するようにしました。

そこで、この数値を「A-Z」に変換したいのですが
どうすれば変換できるのでしょうか?

何から何まで聞いてしまいスミマセン・・・。
宜しくお願いします。
Edosson
ぬし
会議室デビュー日: 2004/04/30
投稿数: 675
投稿日時: 2005-11-28 13:11
私だったら、「65」をそのまま使うことはせず、「'A'」を使います。
引用:

piyoさんの書き込み (2005-11-28 13:02) より:

そこで、この数値を「A-Z」に変換したいのですが
どうすれば変換できるのでしょうか?


charにキャストすればいいです。
コード:
char c = 'A';
System.out.println((char)(c + 0));
System.out.println((char)(c + 1));
System.out.println((char)(c + 2));
...
System.out.println((char)(c + 25));

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