注册 登录
编程论坛 JAVA论坛

关于二位数组打印*直角三角形的,哪位大神帮忙指出下面程序错在哪里了?怎么改?谢谢

暗静暗静呢 发布于 2015-09-13 17:08, 448 次点击
public static void main(String[] args){
   String [][]arr=new String[4][];
   printArray(arr);
}
public static void printArray(String [][]arr){
   for(int i=0;i<arr.length;i++){
     for(int j=0;j<2*i+1;j++){
        arr[i][j]="*";
     if(j==2*i){
     System.out.print("\n");
  }
 }
}
}
我知道提示错误是指向有空的,但新手不知道怎么改,我这是根据一个一维数组改编的。

[ 本帖最后由 暗静暗静呢 于 2015-9-13 17:11 编辑 ]
2 回复
#2
林月儿2015-09-13 17:14
程序代码:
public static void printArray(String [][]arr){
        for(int i=0;i<arr.length;i++){
            arr[i]=new String[2*i+1];
            for(int j=0;j<2*i+1;j++){
                arr[i][j]="*";
//                if(j==2*i){
//                    System.out.print("\n");
//                }
            }
        }
        for(int i=0;i<arr.length;i++){
            for(int j=0;j<arr[i].length;j++){
                System.out.print(arr[i][j]);
            }
            System.out.println();
        }
    }
    public static void main(String[] args){
           String [][]arr=new String[4][];
           printArray(arr);
    }
#3
林月儿2015-09-13 17:24
以下是引用暗静暗静呢在2015-9-13 17:08:36的发言:

public static void main(String[] args){
   String [][]arr=new String[4][];
   printArray(arr);
}
public static void printArray(String [][]arr){
   for(int i=0;i<arr.length;i++){
     for(int j=0;j<2*i+1;j++){
        arr[j]="*";
     if(j==2*i){
     System.out.print("\n");
  }
 }
}
}
我知道提示错误是指向有空的,但新手不知道怎么改,我这是根据一个一维数组改编的。

那叫空指针异常!不说了和同学去吃饭了
1