如何使用用户输入的int显示枚举值?

时间:2019-02-04 04:23:57

标签: javascript

我需要对CardsDriver做三件事:使用默认的构造函数Card()显示默认的卡。然后,获取用户的int并使用参数化的构造函数Card(int n)显示Card对象(使用mod%)。最后使用showDeck()显示全部52张牌。 (您可以告诉我,最后还是使用增强的for循环来做到这一点,但是可以,但是我认为这不是最好的方法。)

至少在第二个问题上真的想要一些帮助。我只需要了解我需要实现的内容即可。

package cards;

import java.util.Scanner;

public class CardsDriver
{

private static Scanner keyboard = new Scanner(System.in);

public static void main (String[] args)
{
    boolean another;
    int n;

    Card card = new Card();

    do
    {
        System.out.println("Type a non-negative integer. Type -1 to 
                                                                    stop.");
        n = keyboard.nextInt( );


        if (n == -1)
        {
            another = false;
        }
        else
        {
            another = true;
        }

    } while (another == true);

    System.out.println("All 52 Cards Follow:");
    showDeck( );
}

private static int getNextInt()
{
    return keyboard.nextInt();
}

private static void showDeck()
{
    for (Face face : Face.values())
    {
        for (Suit suit : Suit.values())
        System.out.println("The " + face + " of " + suit);
    }
}
}

这是我的卡类

package cards;

public class Card {
private Face face;
private Suit suit;

public Card() {
    face = Face.ACE;
    suit = Suit.CLUBS;
}

public Card(Card existingCard) {
    this.face = existingCard.face;
    this.suit = existingCard.suit;
}

public Card(int n) {
    face = Face.values()[n % 13];
    suit = Suit.values()[n % 4];
}

public String toString() {

    return "the" + face + "of" + suit;
}
}

0 个答案:

没有答案