我是java编程的初学者.我正在尝试重新创建卡片游戏大战的简化版本.我运行了下面发布的程序,它返回了这个错误:
线程"main"java.lang.NullPointerException中的异常
在cardgame.BuildDeck(cardgame.java:36)
在cardgame.main(cardgame.java:60)
我一直试图通过研究自己解决这个问题,但我无法解决.我想知道是否有人可以帮助我.如果您确实需要有关我的计划的任何其他信息,请询问.提前致谢!
-FGxMatta
public class cardgame
{
static class TheCard
{
// Java getter & setter
private String CardName;
private int CardRank;
private int Chosen;
public TheCard(int rank, String name)
{
this.CardName = name;
this.CardRank = rank;
this.Chosen = 0;
}
}
@SuppressWarnings("null")
private static TheCard[] BuildDeck()
{
TheCard[] TheDeck = null;
String[] Cards = {"2","3","4","5","6","7","8","9","10","Jack","Queen","King","Ace"};
String[] Suits = {"Spades","Hearts","Diamonds","Clubs"};
int[] Rank = {2,3,4,5,6,7,8,9,10,11,12,13,14};
int cardnumber = 0;
for (int i = 0; i < Cards.length; i++) …Run Code Online (Sandbox Code Playgroud) 我的第一个循环似乎正确地构建了数组,当我在第二个"for"循环中打印出结果时,它会立即终止.我看不出错误.这是代码:
public class CoinFlip
{
private static int Flip()
{
return (int)(2*Math.random()); //returns 0 or 1; 0=Tails,1=Heads
}
public static void main(String args[])
{
int HEADS = 1;
int[] ConsecArray = new int[1000]; // the odds of ever having more than 1000 HEADS consecutively flipped are nil
int Sequencecounter = 0;
for (int i = 0; i < ConsecArray.length; i++)
{
if (Flip() == HEADS)
{
Sequencecounter++;
}
else // we have a TAILS
{
// Check sequence counter, if …Run Code Online (Sandbox Code Playgroud)