2017-02-08 45 views
1

因此,我需要創建一個類中有一個枚舉,然後使用第二個類來隨機選擇一個枚舉值之一,用戶想要。我如何隨機選擇一個單獨的類文件中的兩個枚舉值

這裏的主代碼

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

下面的代碼應該工作 - 隨機生成頭部或尾部枚舉;評論添加到代碼中。編輯將其更改爲獨立工作的示例。

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

該程序應該從不同的類文件獲取枚舉,而不是相同的文件。它應該使用兩個不同的文件,而不是一個。 –

+0

好的,那麼你將需要導入CoinEnum;假設您瞭解Java中的訪問修飾符。 – Scorpion