回型数的实现(为什么我这个代码运行错误了)

    Scanner scanner = new Scanner(System.in);
    int n = scanner.nextInt();
    int a[][] = new int[n][n];
    int manX = n - 1;
    int minX = 0;
    int manY = n - 1;
    int minY = 0;
    int count = 0;
    while (minX<=manX) {
        for (int x=minX;x<=manX;x++){
            a[minY][x]=++count;
        }
        minY++;
        for (int y=minY;y<=manY;y++) {
            a[y][manX] =++count;
        }
        manX--;
        for (int x=manX;x>=minX;x--) {
            a[manY][x]=++count;
        }
        manY--;
        for (int y=manY;y>=minY;y--) {
            a[y][minX] =++count;
        }
        manX++;
    }
    for (int i = 0; i < n; i++) {
        for (int j = 0; j < n; j++)
            System.out.print(a[i][j] + " ");
    }
    System.out.println();

manX++;
改成
minX++;
太不细心了,这也能错。
min只能增,max只能减
max一直长不溢出了

把一串代码写到main主函数里面,运行后,在控制台输入数据,然后回车就可以了
若对你有用的话,请采纳一下哈!