我正在使用面向對象編程來制作二十一點游戲。到目前為止,我寫的是: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 回答

守著星空守著你
TA貢獻1799條經(jīng)驗 獲得超8個贊
正如csmckelvey在評論中所說,您需要在main方法內(nèi)部調(diào)用setCard方法。否則,卡陣列將永遠無法獲得其初始值。
您還有另一個問題-您聲明的數(shù)組大小為12:
public static String[] Card = new String [12];
但是,然后您嘗試在setCard中為其分配13個值。您需要將其更改為大小為13。
同樣,setCard()不需要參數(shù),只需要設置Card的值就可以了。
除此之外,看起來還不錯,請繼續(xù)加油!
添加回答
舉報
0/150
提交
取消