package cn.itcast;
import java.util.Scanner;
/*通过一维数组实现,第一阶段: 键盘输入3后的结果
循环和数组
3 3 3 3 3
3 2 2 2 3
3 2 1 2 3
3 2 2 2 3
3 3 3 3 3
* */
public class Test1 {
public static void main(String[] args) {
// 创建一个Scanner对象,并导包
Scanner sc = new Scanner(System.in);
System.out.println("请输入一个数字");
// 定义一个int类型变量num
int num = sc.nextInt();
// 定义数组【num * 2 - 1】限制数组元素的长度
int[] arr = new int[num * 2 - 1];
// 用双重for循环来遍历数组中的数据,并且利用双重for循环打印出相应的图形
for (int i = 1; i <= arr.length; i++) {
for (int j = 1; j <= arr.length; j++) {
/*
* 2 * num- (arr.length - Math.max(Math.abs(i -
* num)求出了图形中每个位置中打印的数字,Math.abs(j - num)))代码中Math.abs(i -
* num)是求图形的列中的最大数 Math.abs(j - num)是求行中的最大的书
*/
System.out.print(2
* num
- (arr.length - Math.max(Math.abs(i - num),
Math.abs(j - num))) + " ");
}
System.out.println();// 换行
}
}
}
|