2017-02-08 6 views
1

列挙型のクラスを1つ作成してから、2番目のクラスを使用してそれらの列挙型の値の1つをランダムに選択し、ユーザは望む。別々のクラスファイルから2つの列挙値を無作為に選択する方法

は、ここでの主なコード

while (loop){ 
    System.out.println("Enter the number of times you want to toss the coin, enter '0' to end the program: "); 
    num = s.nextInt(); 

    int tails = 0; 
    int heads = 0; 

     if (num == 0){ 
     loop = false; 
     continue; 
     } 
     else if (num < 0){ 
     System.out.println("That's a negative number"); 
     continue; 
     } 



     for (int count = 0; count < num; count++) 
     { 
     if (rand.nextInt(2) == 0) 
      tails = tails + 1; 
     else 
      heads = heads + 1; 
     } 

     System.out.println("Heads: " + heads + " Tails: " + tails); 
     } 

だし、その後、ここでそれが不要なだったので、私はいくつかのものをカット列挙コード

public class Coin{ 

public enum CoinEnum { 
     HEADS,TAILS; 
    } 
} 

です。 ランダムに選択する方法についての一般的な考えがあると思いますが、私はすでに列挙型の値がなかった場合の処理​​方法を簡単に書きましたが、メインプログラムから列挙型の値にアクセスする方法はわかりませんクラスをパッケージ化しようとしましたが、うまくいきませんでした。どんな助けも素晴らしいだろう。

おかげ

+0

クラス内に 'CoinEnum'をネストしないでください。それ自身のソースファイルを与えてください。そうすれば他のクラスから参照するのが簡単になります。 –

答えて

0

次のコードは動作するはず - ランダムHEADまたはTAIL列挙を生成します。コメントがコードに追加されました。これを作業スタンドアロンの例に変更するために編集しました。

public class CoinEnumDemo { 
    public static void main(String[] args) { 
     // print 10 random values 
     for (int i = 0; i < 10; i++) { 
      int val = (int) Math.round(Math.random()); 
      System.out.println(CoinEnum.values()[val]); 
     } 
    } 

     enum CoinEnum { 
      HEAD, TAIL; 
     } 
    } 
+0

私は、プログラムが変数CoinEnumを見つけることができないというエラーが出ています。どこかに入力する必要はありませんか? –

+0

プログラムは、同じファイルではなく、別のクラスファイルから列挙型を取得することになっています。 2つの異なるファイルを使用することになっています。 –

+0

ok、CoinEnumをインポートする必要があります。 Javaのアクセス修飾子について知っていると仮定します。 – Scorpion

関連する問題