菱形行数都为奇数。
代码分2大部分:1、打印上面的三角(包含中间一行)
2、打印下面的三角(不包含中间一行)
其中对于每个部分再分三个步骤:(1)、打印空格(2)打印*(3)打印换行。
注:定义变量行数为 h
i 控制第几行
j 控制每行输出的数量
打印 空格 和 * 都用变量 j 控制,并且用h 和 i 找出关系表示。
以下是代码 :
package work;
import java.util.Scanner;
//给出行数,输出对应的菱形
public class Zuoye206_1 {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
System.out.println("输入菱形的行数(奇数)");
int h = scan.nextInt();
if (h % 2 == 0) {
System.out.println("输入错误");
}else{
//打印上面的三角形(含中间行)
for (int i = 1; i <=(h / 2 + 1); i++) {
//打印空格
for (int j = 1; j <= h/2-i+1; j++) {
System.out.print(" ");
}
//打印*
for (int j = 1; j <= 2*i-1; j++) {
System.out.print("*");
}
//换行
System.out.println();
}
//打印下面的三角形
for (int i = 1; i <= h/2; i++) {
//打印空格
for (int j = 1; j <= i; j++) {
System.out.print(" ");
}
//打印*
for (int j = 1; j <= (h/2 - i) * 2 + 1; j++) {
System.out.print("*");
}
//换行
System.out.println();
}
}
}
}
结果如下
package work;
import java.util.Scanner;
//给出行数,输出对应的菱形public class Zuoye206_1 {public static void main(String[] args) {Scanner scan = new Scanner(System.in);System.out.println("输入菱形的行数(奇数)");int h = scan.nextInt();if (h % 2 == 0) {System.out.println("输入错误");}else{//打印上面的三角形(含中间行)for (int i = 1; i <=(h / 2 + 1); i++) {//打印空格for (int j = 1; j <= h/2-i+1; j++) {System.out.print(" ");}//打印*for (int j = 1; j <= 2*i-1; j++) {System.out.print("*");}//换行System.out.println();}//打印下面的三角形for (int i = 1; i <= h/2; i++) {//打印空格for (int j = 1; j <= i; j++) {System.out.print(" ");}//打印*for (int j = 1; j <= (h/2 - i) * 2 + 1; j++) {System.out.print("*");}//换行System.out.println();}}}}