问:如何输出该图案
解:①分上下两部分,一部分递增,一部分递减,所用到的最外层for不同
②每行的左边右边规律不同,左边部分全部都是“ ”,右边部分是“ ”和“*”的组合,用if语句来解决
③每个最外层的for(),包含两个子for(),并且两个子for()都是由行数决定
④输出几行就for(int i = 1 ; i <= 行数 ; i++)
每行有几列字符就for(int j = 1 ; i <=一个包含 i 的表达式 ; j++)
要把两个for输出在同一行,就要在结构上地位相同,如下
public class Test2{
public static void main ( String [ ] args ) {
for (int i = 1 ; i <=5 ; i++) {//行数控制
for(int j = 1 ; j<=5-i ; j++) {//列数控制
System.out.print(" ") ;
}
for(int m = 1 ; m <=2*i-1 ; m++){
if(m%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 ++){
System.out.print(" ") ;
}
for(int m=1 ; m<=9-2*i;m++ ){
if(m%2==0) System.out.print(" ") ;
else System.out.print("*");
}
System.out.println() ;
}
}
}