思路:拆分为上下两部分
外循环:控制行
内循环:3个并列循环
分别控制空格,左边数字,右边数字
/*
数字菱形, 行从大到小的方式,也就是把第一行认为是第四行(row-1)
*/
import java.util.Scanner;
public class Test {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.print("请输入行数:");
int row = input.nextInt();
//上部分
//外循环控制行,方法一:下部分的行从大到小,也就是将第一行认为是row-1
for (int i = 1; i <= row; i++) {
//空格
for (int j = 0; j <row-i ; j++) {
System.out.print(" ");
}
//左数
for (int h = 1; h <= i ; h++) {
System.out.print(h);
}
//右数
for (int k = i-1; k >=1 ; k--) {
System.out.print(k);
}
//换行
System.out.println();
}
//下部分 // 行从大到小的方式,也就是把第一行认为是第四行(row-1)
//外循环控制行,下部分一共有(row-1)行
for (int i = row-1; i >= 1; i--) {
//空格
for (int j = 0; j <row-i ; j++) {
System.out.print(" ");
}
//左数
for (int h = 1; h <= i ; h++) {
System.out.print(h);
}
//右数
for (int k = i-1; k >=1 ; k--) {
System.out.print(k);
}
//换行
System.out.println();
}
}
}
import java.util.Scanner;
public class Test { 1 {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.println("请输入行数:");
int row = input.nextInt();
//上部分 外循环控制行,方法二:下部分的行从小到大,也就是将第一行认为是1
for (int i = 1; i <= 5; i++) {
//控制空格
for (int j = 1 ;j <=row-i ; j++) {
System.out.print(" ");
}
//控制左数
for (int k = 1; k <=i ; k++) {
System.out.print(k);
}
//控制右数
for (int l = i-1; l>=1 ; l--) {
System.out.print(l);
}
System.out.println();
}
//下部分 外循环控制行数
for (int i = 1; i <=row-1 ; i++) {
//内循环控制每一行的空格数
for (int j = 1; j <=i ; j++) {
System.out.print(" ");
}
//控制左数
for (int k = 1;k<=row-i;k++) {
System.out.print(k);
}
//控制右数
for (int l = row-i-1; l >=1 ; l--) {
System.out.print(l);
}
System.out.println();
}
}
}