Java 如何调用和执行方法

Java 如何调用和执行方法,java,methods,playing-cards,Java,Methods,Playing Cards,我有一个问题可能是非常基本的,但我似乎无法在堆栈上找到它(我确实找到了非常复杂的),所以如果它已经在某个地方,我非常抱歉 我正在用java编写一个纸牌游戏,我想将绘制新纸牌的代码片段移动到一个单独的方法中,这样我就可以随时调用它,而不是在需要时让同一段代码反复出现 唯一的问题是我不知道该使用什么类型的方法,也不知道如何调用它,因为它不会返回任何东西,只需要执行一堆代码 如果这有助于说明我的目标,那么下面是我画一张卡片的代码片段 if (event.getSource() == hit &

我有一个问题可能是非常基本的,但我似乎无法在堆栈上找到它(我确实找到了非常复杂的),所以如果它已经在某个地方,我非常抱歉

我正在用java编写一个纸牌游戏,我想将绘制新纸牌的代码片段移动到一个单独的方法中,这样我就可以随时调用它,而不是在需要时让同一段代码反复出现

唯一的问题是我不知道该使用什么类型的方法,也不知道如何调用它,因为它不会返回任何东西,只需要执行一堆代码

如果这有助于说明我的目标,那么下面是我画一张卡片的代码片段

if (event.getSource() == hit && endOfRound == false) {
    Continue = true;
    while (Continue == true) //If the random number has been drawn before, loop the random number generator again
    {
        cardID = (int) RandomNumber.GetRandomNumber(52);
        if (cardsLeft[cardID] == true) //If a new card is drawn, continue normally
        {
            Continue = false; //Stop the loop that draws a new card
            cardsLeft[cardID] = false; //save that the card was drawn
            stay.setBackground(Color.green);

            plyrSum += BlackJack.value(cardID); //add value to sum
            plyrSumLabel.setText("Your sum: " + plyrSum); //display new sum
            cardLabel[plyrCardCounter].setIcon(cardImage[cardID]); //Display card

            plyrCardCounter++;
            if (cardID >= 48) //record how many aces are in the hand so the program knows how many times it can reduce the sum. 
                plyrAceCounter++;
            while (plyrSum > 21 && plyrAceCounter > 0) //If bust, reduce the value of an ace by 10 (from 11 to 1). 
            {
                plyrSum -= 10;
                plyrSumLabel.setText("Your sum: " + plyrSum);
                plyrAceCounter--;
            }

            if (plyrSum > 21) //Automatically end the round if someone  busts (player)
            {
                stay.doClick();
            }
        }
    }
}

声明一个返回void的方法drawCard()。现在复制if内的块并将其粘贴到方法内。 然后重写if部分:


非常感谢,但是这种方法叫什么?公共静态无效?因为这似乎不起作用。(错误消息:令牌“void”上的语法错误,@expected)我做错了什么?这太奇怪了,因为当我检查它时,我确信我已经做得很好,但不知何故,我收到另一条错误消息,说“此行有多个标记-抽卡无法解析为类型-令牌“void”上的语法错误,新的预期”Nvm我解决了它,我只是把它粘贴到了错误的地方。一般来说,将一个复杂的过程分解成一系列更小的、独立的、逻辑上不同的步骤总是一个好主意。在像Java这样的面向对象语言中,这应该是对象模型的自然结果。我注意到您正在编写一个纸牌游戏,因此一个自然域对象似乎是
card
,但您的项目似乎没有面向对象的纸牌抽象。
if (event.getSource() == hit && endOfRound == false) drawCard();