项目场景:
打印如下的图形:菱形1
问题描述:
这里容易没有思路,不知道先从哪里下手。这里的菱形怎么一开始就留了白。
//菱形图
public class title31{
public static void main(String[] args){
for( int i = 1; i <= 5; i++){
//将空格和*分开看,看" "的变化i=1时,它是4,2的时候是3,找规律
for( int j = 1; j <= 5-i ; j++){
System.out.print(" ");
}
for( int k = 1; k <= 2*i-1 ; k++){
//找规律,i是 1 3 5 7 9基数,这时是*;偶数时是空格
if (k%2==0){
//控制空格
System.out.print(" ");
}else {
System.out.print('*');}//控制*
}
System.out.println();//换行
}
for( int i = 1; i <= 4; i++){
for( int j = 1;j <= i; j++){
//空格 1 2 3 4 so
System.out.print(" ");
}
for( int k = 1; k <= 2*(4 - i + 1 )-1; k++){
//* 7 5 3 1 倒着来的基数,跟上面一样,只不过下面一部分是反起来的
if (k%2==0){
System.out.print(" ");
}else {
System.out.print('*');}
}
System.out.println();
}
}
}
思路分析:
//首先。把菱形看成上下两部分,上五下四,所以,第一个for循环有5次,第二个for循环有4次。我们先想它是由*和空格组成,我们用第五行做参考,星号 空格 星号 空格 ,对应第一排的,看第一排前面有多少个空格,然后看规律。我们先输出上面一部分。然后输出下面一部分。看不懂的可以先看代码。