我正在使用面向对象编程来制作二十一点游戏。到目前为止,我写的是: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。我想知道我是否可以在解决该问题上获得一些帮助。
2 回答
![?](http://img1.sycdn.imooc.com/5458689e000115c602200220-100-100.jpg)
守着星空守着你
TA贡献1799条经验 获得超8个赞
正如csmckelvey在评论中所说,您需要在main方法内部调用setCard方法。否则,卡阵列将永远无法获得其初始值。
您还有另一个问题-您声明的数组大小为12:
public static String[] Card = new String [12];
但是,然后您尝试在setCard中为其分配13个值。您需要将其更改为大小为13。
同样,setCard()不需要参数,只需要设置Card的值就可以了。
除此之外,看起来还不错,请继续加油!
添加回答
举报
0/150
提交
取消