
java二维数组问题
packagetest;publicclassTest{publicstaticvoidmain(String[]args){System.out.println("De...
package test;
public class Test
{
public static void main(String[] args)
{
System.out.println("Declare in the middle:");
test1 aPerson = new test1();
int[][] c;
c=new int[10][];
c =aPerson.height();
int a ;
a = 5;
a=c[9][1]/a;
printeArray(c);
System.out.println(a); // print an integer
}
public static void printeArray(int[][] inputArray){
for (int i=0;i<inputArray.length;i++){
for(int j=0;j<inputArray[i].length;j++){
System.out.print(inputArray[i][j]);
}
System.out.println();
}
}
}
class test1 {
int b;
public int[][] height(){
int[] m;
int[][] n;
n=new int[10][];
m=new int[10];
b=10;
for(int i=0;i<b;i++){
m[i]=i+1;
for(int j=0;j<10;j++){
n[i][j]=j*i;
}
}
return n;
}
}
这个哪里不正确吗,怎么老是报Exception in thread "main" java.lang.NullPointerException
at test.test1.height(Test.java:41)
at test.Test.main(Test.java:10)
这个啊?有些不明白。希高手帮我分析下。 展开
public class Test
{
public static void main(String[] args)
{
System.out.println("Declare in the middle:");
test1 aPerson = new test1();
int[][] c;
c=new int[10][];
c =aPerson.height();
int a ;
a = 5;
a=c[9][1]/a;
printeArray(c);
System.out.println(a); // print an integer
}
public static void printeArray(int[][] inputArray){
for (int i=0;i<inputArray.length;i++){
for(int j=0;j<inputArray[i].length;j++){
System.out.print(inputArray[i][j]);
}
System.out.println();
}
}
}
class test1 {
int b;
public int[][] height(){
int[] m;
int[][] n;
n=new int[10][];
m=new int[10];
b=10;
for(int i=0;i<b;i++){
m[i]=i+1;
for(int j=0;j<10;j++){
n[i][j]=j*i;
}
}
return n;
}
}
这个哪里不正确吗,怎么老是报Exception in thread "main" java.lang.NullPointerException
at test.test1.height(Test.java:41)
at test.Test.main(Test.java:10)
这个啊?有些不明白。希高手帮我分析下。 展开
推荐于2016-11-05 · 知道合伙人软件行家
关注

展开全部
这里很明显的告诉了你,空指针异常了
java.lang.NullPointerException
at test.test1.height(Test.java:41)
at test.Test.main(Test.java:10)
Test.java 41行
应该是这里吧,你声明二维数据的时候,没有给二维指定空间
n=new int[10][];
java.lang.NullPointerException
at test.test1.height(Test.java:41)
at test.Test.main(Test.java:10)
Test.java 41行
应该是这里吧,你声明二维数据的时候,没有给二维指定空间
n=new int[10][];
追问
指定空间的该怎么弄呢,我刚学java,对这里面的原理还没有弄明白。可以为我分析下吗,谢谢您。
追答
我不是很明白你的height() 这个方法用来干嘛,但是你声明这个数组的时候:n=new int[10][];
这个二维数组,你并没有声明第二维的长度
你应该这样,n=new int[10][10]; 指定二维的长度为10
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询