2016-10-27 11 views
-1

私はするべきことがあります。ボタンにコードを書くだけです。ボタンをクリックすると、1~10の2つの乱数が1つのメッセージに表示され、私はこのコードを書いた乱数=同じ星の数

Random r=new Random(); 
String total = ""; 
for (int z=0;z<5;z=z+1) { 
    int x=r.nextInt(10); 
    total = total+x+"\n"; 
} 
JOptionPane.showMessageDialog(null,total); 

今私の問題は、メッセージが表示されるときに私はそれぞれの乱数の前に星を置く必要があります。例えば: 私は、メッセージが表示され、ボタンをクリックした5個の乱数が

5 
2 
3 
4 
8 

のように登場し、私は星がとても

5 ***** 
2 ** 
3 *** 
4 **** 
8 ******** 

などの各乱数を等しく置くためのコードを記述する必要があり、これを行うための簡単なコードがありますか?

p.s:私はJavaの初心者ですので、私はそれを理解できるように簡単なコードが必要です。 助けてくれてありがとう:)

+0

最初のコードブロックは星との出力と何が関係していますか?何を試しましたか? –

+0

https://docs.oracle.com/javase/7/docs/api/java/util/Formatter.html –

+0

私の最初のコードが間違っている場合は、別のものに置き換えることができます..すべてi必要なのは、ボタンをクリックすると、その前に開始点がある5つの乱数です。 –

答えて

0

この場合、10 *の値を持つ変数を作成するだけで、乱数を取得するたびに部分文字列(0、[乱数])を使用できます。印刷するために。

私はこのコードを実行していませんが、これはあなたがしたいことを行うはずです。

Random r=new Random(); 

String stars = "**********"; 
String total = ""; 
for (int z=0;z<5;z=z+1) { 
    int x=1+r.nextInt(9); 
    total = total+x+stars.substring(0, x)"\n"; 
} 
JOptionPane.showMessageDialog(null,total); 

ループを使いたい場合は、私はこれがコードだと信じています:

Random r=new Random(); 

String stars = ""; 
String total = ""; 
for (int z=0;z<5;z=z+1) { 
    stars = ""; 
    int x=1+r.nextInt(9); 
    for(int i=0; i<x; i++) 
    { 
     stars = stars + "*"; 
    } 
    total = total+x+stars"\n"; 
} 
JOptionPane.showMessageDialog(null,total); 
+0

ええ、それは完璧に動作します:D –

+0

@ KarimWagdyそのコードは、あなたの質問で指定したものと一致しないxの値を0回生成します。 –

+0

それは私のために完全に動作しますが、私はまだJavaの初心者ですので、私は本当に部分文字列が何をしているのか分かりません、私が今知っているのは変数です、else文とループなので、部分文字列を使用しないで?例えば、2つのループが一緒に追加されただけですか? –

関連する問題