2016-11-09 7 views
0

カード番号(1-12)を付加してカードスーツを生成する必要があり、配列を使用できません。また、Unicodeのみであるか、ASCIIシンボルである必要がありますか? ありがとう!Javaでランダムに特定のUnicodeシンボルを生成する機会はありますか?

+0

カードスートを表すASCII記号はありません。 – Bathsheba

+0

どうすればこれらのシンボルを印刷できますか?私はあなたの助けを非常に感謝します! –

答えて

1

あなたはこのコードを実行する場合:

public static void main(String[] args) { 
    for (int index = 9824; index <= 9831; index++) { 
     System.out.print("" + (char) index); 
    } 
} 

をあなたはこの出力を取得します:私は、これらはあなたが必要な文字であることを

♠♡♢♣♤♥♦♧ 

推測しています。

ので、このような方法:

public static int getRandomSuit() { 
    return (int) (Math.random() * 8 + 9824); 
} 

は、ランダムなスーツを返します。

1

あなたはアスキーチャート上のあなたの「記号」の間にある数字を生成し、それをその文字に変換することができます。例えば

あなたは97-100から乱数を取得し、文字に変換することができ

97=a, 
98=b, 
99=c, 
100=d 

場合。

+0

しかし、これらのシンボルが、例(97-100)のように特定の範囲に属していない場合は、たとえば2,47,24、198などの数字がありますか?そして、私はばかげているかもしれませんが、このシンボルのために、私は\tU + 2665コードしか見つけませんでした。そして、それはいつも( "?")印刷されます。またはその場合、私は「U +」なしで番号(2665)だけを使用する必要がありますか?どうもありがとう! –

+0

もしあなたが配列を使うことができれば、それらの4つの数字を配列に入れて、乱数ジェネレータに配列内のランダムなインデックスを吐出させて、それをスーツとしてみましょう。私が説明したように、私の下に掲示された答えは、あなたが探しているものよりももっと多いかもしれませんが、彼はまた、記号を調べることに気をつけました:) –

関連する問題