Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/mercurial/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java板阵列故障_Java_Arrays_Nullpointerexception - Fatal编程技术网

Java板阵列故障

Java板阵列故障,java,arrays,nullpointerexception,Java,Arrays,Nullpointerexception,我正在开发一个使用ansi代码创建战舰游戏的程序。ansi代码不是什么大问题,因为我发现这些代码允许我覆盖打印行。我的计划是用它把船放在已经画好的木板上。我的问题在于放置船只的数组(“0”)。似乎无法通过nullpointerexception错误。我觉得这是唯一阻止我完成这个项目的东西。任何帮助都将不胜感激 下面是我课程的一部分 坐标类: public class Coordinate { public String piece; int row, col, type; pu

我正在开发一个使用ansi代码创建战舰游戏的程序。ansi代码不是什么大问题,因为我发现这些代码允许我覆盖打印行。我的计划是用它把船放在已经画好的木板上。我的问题在于放置船只的数组(“0”)。似乎无法通过nullpointerexception错误。我觉得这是唯一阻止我完成这个项目的东西。任何帮助都将不胜感激

下面是我课程的一部分

坐标类:

public class Coordinate {
   public String piece;
   int row, col, type;
   public boolean select, empty, hit, ship;
   public String [][] shipPiece;

   public String section()
   {
       piece = "i";

       empty = true;
       select = false;
       hit = false;
       //ship = false;

       if (empty)
       {
           piece = "\033[33m0\033[0m";
       }
       else if(!empty)
       {
           //empty = true;
           ship = true;
           piece = "0";
       }
       else if(!hit && ship)
           piece = "\033[33m0\033[0m";

       return piece;
   }

   public String placeShip()
   {
       for(int x = 0; x<=10; x++)
       {
           for(int y = 0; y<=10; y++)
           {
               shipPiece[x][y] = piece;
           }
       }
       return piece;   
   }
}
公共类坐标{
公共弦乐;
int行、列、类型;
公共布尔选择、空、命中、装运;
公共字符串[][]船件;
公共字符串段()
{
第i项;
空=真;
select=false;
命中=错误;
//ship=假;
if(空)
{
工件=“\033[33m0\033[0m”;
}
如果(!空),则为else
{
//空=真;
ship=真;
工件=“0”;
}
否则,如果(!命中并发送)
工件=“\033[33m0\033[0m”;
返回件;
}
公共字符串placeShip()
{

对于(int x=0;x,
装运件阵列
未初始化

改变

 public String [][] shipPiece;


这从未初始化过

public String [][] shipPiece;
您应该初始化如下内容

public String [][] shipPiece = new String[10][10];

您从未初始化您的
装运件
。您必须对其进行初始化,例如:

public String [][] shipPiece = new String[11][11];

你不是在初始化这个坏家伙!!!

在哪一行发生空指针异常?坐标类的第41行是的,这就把它清除了。酷!!但现在它给了我通常的边界数组:(小问题,如果输出给我一个随机内存偏移量(即[Ljava.lang.String;@b988a6)),我想使toString方法正确?如果是,我将如何处理?好的,这似乎解决了问题,谢谢David和Prabs:)
public String [][] shipPiece = new String[10][10];
public String [][] shipPiece = new String[11][11];
public String [][] shipPiece;