为了账号安全,请及时绑定邮箱和手机立即绑定

一个简单的二十一点游戏

一个简单的二十一点游戏

白板的微信 2021-04-02 18:11:05
我正在使用面向对象编程来制作二十一点游戏。到目前为止,我写的是: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条经验 获得超8个赞

正如csmckelvey在评论中所说,您需要在main方法内部调用setCard方法。否则,卡阵列将永远无法获得其初始值。

您还有另一个问题-您声明的数组大小为12:

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

但是,然后您尝试在setCard中为其分配13个值。您需要将其更改为大小为13。

同样,setCard()不需要参数,只需要设置Card的值就可以了。

除此之外,看起来还不错,请继续加油!


查看完整回答
反对 回复 2021-04-14
  • 2 回答
  • 0 关注
  • 143 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信