链接:https://ac.nowcoder.com/acm/problem/22230
来源:牛客网
题目描述
给你一个整数n,按要求输出n∗n的回型矩阵
输入描述:
输入一行,包含一个整数n
1<=n<=19
输出描述:
输出n行,每行包含n个正整数.
示例1
输入
复制
4
输出
复制
1 2 3 4
12 13 14 5
11 16 15 6
10 9 8 7
主要思想:创建二维数组,根据题意,我们知道需要nn个数,且是从1到nn,创建一个while循环,我们知道,下标的变化很重要。
初始化i,j的值,分别使得i=0;j=-1,再初始化一个值counter,这个值是控制下标变化,将n的值赋予b,程序执行4次for循环,依次输出1 2 3 4。然后跳出进入if判断,满足条件b–;之后counter++,回到for循环,这次循环3次,且执行第二个if判断,注意,这个时候的j=3,而i=0,所以就相当于向下进行二维数组的填充,以此类推,直到while循环被满足,结束并输出。
代码
import java.util.*;
public class Main {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);