当前位置: 首页 > 面试题库 >

想要多维数组,但获得空指针异常

邢勇
2023-03-14
问题内容
  1 public class TestWin{
  2     public static void main(String[] args){
  3         int n;
  4         hexagon[][] board;
  5
  6         n = 4;
  7         board = new hexagon[n][n];
  8         board[0][0].value = 'R';

你好 javac不喜欢我在第8行所做的事情。有人知道为什么吗?


问题答案:

现货在沃特福德。第7行所做的只是告诉Java在二维数组中为n * n个Hexagon对象创建空间。

您仍然需要为每个这些六边形调用新的

本质上,您需要将第7行替换为:

board = new Hexagon[n][n];
for(int i=0; i<n; i++)
    for(int j=0; j<n; j++)
        board[i][j] = new Hexagon();


 类似资料:
  • 主要内容:指针数组和二维数组指针的区别二维数组在概念上是二维的,有行和列,但在内存中所有的数组元素都是连续排列的,它们之间没有“缝隙”。以下面的二维数组 a 为例: int a[3][4] = { {0, 1, 2, 3}, {4, 5, 6, 7}, {8, 9, 10, 11} }; 从概念上理解,a 的分布像一个矩阵: 但在内存中,a 的分布是一维线性的,整个数组占用一块连续的内存: C语言中的二维数组是按行排列的,也就是先存放

  • 问题内容: 我正在继续我的上学项目,似乎遇到了另一个错误。所以发生的事情基本上是我收到一个空指针异常,即使代码看起来很好。我相信我的阵列出了点问题,即使经过数小时的搜索,我似乎也找不到该错误。再一次,任何帮助/解决方案将不胜感激。 } 我有一个带有构造函数的学生班,并且有一个说明 但仍然出现错误。我知道要处理的代码很多,因此再次感谢任何帮助。 问题答案: 由于您的代码是当前编写的, 由于您永远不会

  • 7. 指向数组的指针与多维数组 指针可以指向复合类型,上一节讲了指向指针的指针,这一节学习指向数组的指针。以下定义一个指向数组的指针,该数组有10个int元素: int (*a)[10]; 和上一节指针数组的定义int *a[10];相比,仅仅多了一个()括号。如何记住和区分这两种定义呢?我们可以认为[]比*有更高的优先级,如果a先和*结合则表示a是一个指针,如果a先和[]结合则表示a是一个数组。

  • 我有一个3节点星火集群。并尝试使用snowflake spark连接器和jdbc驱动程序访问snowflake jdbc:snowflake-jdbc-3.12.4.jar spark-connector:spark-snowflake_2.11-2.7.0-spark_2.4.jar 下面是我的代码: 我在sdf.show()上的调用失败,但有以下例外情况。有什么建议吗?

  • 问题内容: 我最近在学习Java,并尝试使用类。但是我无法初始化数组对象 谁能告诉我我要去哪里错了? 问题答案: 当你做 您正在创建 引用数组(即引用变量数组) ,这些 引用数组 未指向其他任何地方,即它们为null。您需要将对象分配给数组中上面创建的引用变量。

  • 问题内容: 有可能这可能是一个双重问题。我将String变量初始化为null。我可能会或可能不会使用一个值更新它。现在我想检查此变量是否不等于null以及我尝试执行的操作是否会得到null指针异常。空指针异常,因为它代价高昂。是否有任何有效的解决方法.TIA 问题答案: 如果您使用 你 不会 得到。 我怀疑你在做什么: 这是因为null 而引发,而不是因为null。 如果仍然无法解释,请发布您用于