该类型的方法未定义

Joh*_*ith 0 java

我目前正在尝试实现一款名为500的纸牌游戏.

就在这里,我试图将每种类型的出价都编入一个简单的索引号.我已经在另一个类中创建了套装的枚举.我现在遇到的问题是我一直在收到错误

"Bid(int,Card.Suit)方法未定义为Bid类型".

我不明白为什么会这样.任何帮助,将不胜感激.

public Bid(int pTricks, Suit pSuit)
{
    assert pTricks >= 6;
    assert pTricks <= 10;
    this.trickCount = pTricks;
    this.trumpSuit = pSuit;
}


public Bid(int pIndex)
{

    switch (pIndex) {
    case 0: Bid(6, Suit.SPADES);
    case 1: Bid(6, Suit.CLUBS);
    case 2: Bid(6, Suit.DIAMONDS);
    case 3: Bid(6, Suit.HEARTS);
    case 4: Bid(6, null);
    case 5: Bid(7, Suit.SPADES);
    case 6: Bid(7, Suit.CLUBS);
    case 7: Bid(7, Suit.DIAMONDS);
    case 8: Bid(7, Suit.HEARTS);
    case 9: Bid(7, null);
    case 10: Bid(8, Suit.SPADES);
    case 11: Bid(8, Suit.CLUBS);
    case 12: Bid(8, Suit.DIAMONDS);
    case 13: Bid(8, Suit.HEARTS);
    case 14: Bid(8, null);
    case 15: Bid(9, Suit.SPADES);
    case 16: Bid(9, Suit.CLUBS);
    case 17: Bid(9, Suit.DIAMONDS);
    case 18: Bid(9, Suit.HEARTS);
    case 19: Bid(9, null);
    case 20: Bid(10, Suit.SPADES);
    case 21: Bid(10, Suit.CLUBS);
    case 22: Bid(10, Suit.DIAMONDS);
    case 23: Bid(10, Suit.HEARTS);
    case 24: Bid(10, null);

    }


}
Run Code Online (Sandbox Code Playgroud)

Jer*_*man 5

您希望使用该this关键字来调用其他构造函数.

例如

case 24: this(10, Suit.HEARTS); break;
Run Code Online (Sandbox Code Playgroud)

此外,请确保break;在每个案例结束时.

编辑:这不起作用,如下面的评论中所示.将此逻辑移动到您从构造函数调用的私有方法,或使用静态工厂方法替换第二个构造函数.