2017-02-17 16 views
0

私のコードでは、アルファベットからランダムな文字を生成する必要があります。文字を生成した後、draw.Stringメソッドを使用して文字を描画する必要があります。 charAt(random)メソッドを使って文字を生成することができたとは思っていましたが、動作していません。私のコードはjavaの下にあります。私が間違ってやっていることとそれを修正する方法を教えてください。ありがとうランダムな文字を生成し、その文字をdraw.Stringで描画する

Random rand = new Random(); 
String alphabet = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"; 
String randomLetter = charAt(rand); 

Font letterFont = new Font("SansSerif", Font.BOLD, 94); 
g.setFont(letterFont); 
g.drawString(letter , x+45, y+100); 
+0

コンパイラはあなたが間違ってやっている正確に何を教えてくれます - 批判*信じるエラーメッセージ(ヒント:それはあなたがランダムなオブジェクトを使用する方法ではありません)を読み、*。 –

+0

ヒント2:charAtを何かに呼び出す必要があります。 –

答えて

1

コードに2つの問題があります。まず、生成する乱数の範囲をアルファベット文字列のアドレス指定可能なサイズにバインドする必要があります。次に、charAt()メソッドは、スタンドアローンメソッドではなく、アルファベット文字列で呼び出される必要があります。

Random rand = new Random(); 
int pos = rand.nextInt(alphabet.length); 
String randomLetter = "" + alphabet.charAt(pos); 
+0

だから私の弦の長さは26になりますよね? あなたのコードには、rand.nextInt(alphabet.length)があります。 長さは何ですか。それは変数ですか? –

+0

'alphabet.length'はアルファベット文字列の長さを返します。この場合は26文字ですが、それについて心配する必要はありません。私たちは、私たちのロジックを変更する必要なく、文字列を道路の何かに変更することができます。 –

+0

私はそれを得た。私はかっこが足りなかった。ありがとう –

関連する問題