猿问

一个简单的二十一点游戏

我正在使用面向对象编程来制作二十一点游戏。


到目前为止,我写的是:


import java.util.Random;


public class Blackjack {

    public static String[] Card = new String[12];

    public static String[] Suits = {"D", "H", "S", "C"};



    public void setCard(String[] c) {

        Card = c;

        Card[0] = "A";

        Card[1] = "2";

        Card[2] = "3";

        Card[3] = "4";

        Card[4] = "5";

        Card[5] = "6";

        Card[6] = "7";

        Card[7] = "8";

        Card[8] = "9";

        Card[9] = "10";

        Card[10] = "J";

        Card[11] = "Q";

        Card[12] = "K";

    }


    public static void main(String[] args) {

        System.out.println("Welcome to Blackjack.");


        Random rand = new Random();


        int card_Sign1 = (int) (Math.random() * 13);

        int card_Sign2 = (int) (Math.random() * 13);


        int Suit1 = (int) (Math.random() * 4);

        int Suit2 = (int) (Math.random() * 4);


        System.out.print(Card[card_Sign1]);


    }

}

输出我得到的是Welcome to Blackjack那么null。我想知道我是否可以在解决该问题上获得一些帮助。


白板的微信
浏览 144回答 2
2回答

守着星空守着你

正如csmckelvey在评论中所说,您需要在main方法内部调用setCard方法。否则,卡阵列将永远无法获得其初始值。您还有另一个问题-您声明的数组大小为12:public static String[] Card = new String [12];但是,然后您尝试在setCard中为其分配13个值。您需要将其更改为大小为13。同样,setCard()不需要参数,只需要设置Card的值就可以了。除此之外,看起来还不错,请继续加油!
随时随地看视频慕课网APP

相关分类

Java
我要回答