跳过了比较熟悉所以没有写笔记的部分!这里的代码是多重循环练习。
空心金字塔
public static void main(String[] args) {
int TotalLevel = 10; //总层数
for (int i=1; i<=TotalLevel; i++){
for (int j=1; j<=TotalLevel-i; j++){
System.out.print(" "); //每行前面的空格
}
for (int k=1; k<=i*2-1; k++){
if (k==1 || k==i*2-1 || i==TotalLevel){
System.out.print("*"); //金字塔组成部分
}else {
System.out.print(" "); //空心部分
}
}
System.out.println(); //每一层换一行
}
}
空心菱形
public static void main(String[] args) {
int halfLevel = 3;
/*
* 第一层 第3个 最后一个3
* * 第二层 第2个 第4个 最后一个4
* * 第三层 第1个 第5个 最后一个5
* * 第四层 第2个 第4个 最后一个4
* 第五层 第3个 最后一个3
*/
for (int i=1; i<=halfLevel; i++){ //上半菱形
for (int j=1; j<=halfLevel+i-1; j++){
if (j==halfLevel-i+1 || j==halfLevel+i-1){
System.out.print("*"); //上半部分菱形组成部分
}else {
System.out.print(" "); //空心部分
}
}
System.out.println(); //每一层换一行
}
for (int m=1; m<=halfLevel-1; m++){ //下半菱形
for (int n=1; n<=halfLevel*2-m-1; n++){
if (n==m+1 || n==halfLevel*2-m-1){
System.out.print("*"); //下半部分菱形组成部分
}else {
System.out.print(" "); //空心部分
}
}
System.out.println(); //每一层换一行
}
}