Java 为什么我的forloop&x27;s打印语句,can';找不到我的枚举角色?

Java 为什么我的forloop&x27;s打印语句,can';找不到我的枚举角色?,java,class,variables,random,methods,Java,Class,Variables,Random,Methods,我正在写一个关于纸牌游戏黑手党的小程序。到目前为止,我只能向用户展示角色及其相应的目标。现在我尝试从枚举中获取一个随机角色,roles。问题是我的forloop找不到枚举、角色 因此,在代码行中:System.out.println(i,roles.getRandomRole())。。。。找不到枚举、角色 任何帮助都将不胜感激 我已经试着把一切公之于众了 这是forloop的主要功能 //Pick a random role one time. public class Mafia_v2 { p

我正在写一个关于纸牌游戏黑手党的小程序。到目前为止,我只能向用户展示角色及其相应的目标。现在我尝试从枚举中获取一个随机角色,roles。问题是我的forloop找不到枚举、角色

因此,在代码行中:
System.out.println(i,roles.getRandomRole())。。。。找不到枚举、角色

任何帮助都将不胜感激

我已经试着把一切公之于众了

这是forloop的主要功能

//Pick a random role one time.
public class Mafia_v2
{
public static void main(String[] args)
 {
       for(int i = 0; i < 2; i++)
       {
           System.out.println(i, roles.getRandomRole());
       }
 }
}

我想把它打印出来,就像你的卡片是:“+getRandomRole

枚举是一个嵌套类。您需要导入它,或者使用外部类限定它:
theDeck.roles
。旁注:根据Java惯例,类名应该以大写字母开头。@shmosel谢谢您的帮助!我添加了import static mafia_v2.theDeck.roles;然后将print语句切换到System.out.println(“这是您选择的角色:”+roles.getRandomRole());成功了!另外,谢谢你的补充说明,我对Java还是相当陌生的,所以我会记住这一点!枚举是一个嵌套类。您需要导入它,或者使用外部类限定它:
theDeck.roles
。旁注:根据Java惯例,类名应该以大写字母开头。@shmosel谢谢您的帮助!我添加了import static mafia_v2.theDeck.roles;然后将print语句切换到System.out.println(“这是您选择的角色:”+roles.getRandomRole());成功了!另外,谢谢你的补充说明,我对Java还是相当陌生的,所以我会记住这一点!
public class theDeck
{
    /**
    * roles enum
    */
    public enum roles
    {
        MAFIA,
        COP,
        ANGEL,
        CIVILIAN;

        /**
        * Pick a random value from the Roles enum.
        * @return a random Role
        */

        public static roles getRandomRole()
        {            
            Random randomRole = new Random();
            return values()[randomRole.nextInt(values().length)];
        }
     } 
}