java问题,初学者!!!!!!!!1

请你编程画一个放大的‘X’。
如3*3的‘X’应如下所示:

X X
X
X X

5*5的‘X’如下所示:
X X
X X
X
X X
X X

输入格式

输入数据第一行是一个整数T,表示有T组测试数据。
接下来有T行,每行有一个正奇数n(3<=n<=79),表示放大的规格。

输出

对于每一个n打印一个规格为 n*n 放大的‘X’,每组输出后面空一行。

样例输入

2
3
5

样例输出

X X
X
X X

X X
X X
X
X X
X X

 import java.util.Scanner;
  public class Main{
  public static void main(String[] args){
     Scanner input=new Scanner(System.in);
     int T = input.nextInt();
     for(int num=0;num<T;num++){
         int N=input.nextInt(),n1,n2;
         char[][] x=new char[N][N];
         if(N>=3 && N<=79){
            for(n1=0;n1<x.length;n1++)
               for(n2=0;n2<x[n1].length;n2++){
                  if(n1==n2 || n1+n2==N-1)
                      x[n1][n2]='X';
                  else
                      x[n1][n2]=' ';}
            for(n1=0;n1<x.length;n1++){
                 for(n2=0;n2<x[n1].length;n2++)
                       System.out.print(x[n1][n2]+" ");
                 System.out.println();}
            System.out.println();
        }
    }
  }
}

为什么说输出超限?

代码中文字丢失了。for循环都不对了,缩进也没有了。
请你点回复帖子的工具栏上的代码,然后把代码输入到两对引号中间。

char[][] x=new char[N][N];
这里不能这么定义,你可以用二维数组
char[,] x = new char[N,N];

数 组 下 标越界了吧

我测试了一下你的代码没有问题啊,你输入什么数据显示输出超限?