特点:在多个量需要变化的情况下,可以先取一个特例,变化的量都为确定值,实现一次。之后再在实现的基础上,把常量依次变回变量。
/*
*
* *
* * *
* * * *
* * * * *
*/
/*
打印这样有规律的图形,其中星号的个数在变化,每行的空格数也在变化。可以先取一个特例,两个都为常数的情况。
比如最后一行。先打印5个空格,在打印5个*+空格,第四行6个空格,4个*+空格。从其中的一般情况来推断出这个规律所具有的性质,得到全部符合情况的式子。
若循环从1开始,则空格数=10-k(k=5时为5,k=4时为6)*号个数=k
*/
public class T1
{
public static void main(String[] args)
{
for(int k=1; k<=5; k++){
for(int i=0; i<10-k; i++) System.out.print(" ");
for(int i=0; i<k; i++) System.out.print("* ");
System.out.println();
}
}
}
同理。
可以先打印出最后一行,在常数的比较中得到循环变量和数据之间的关系,在推导到全部的情况。
/*
A
ABA
ABCBA
ABCDCBA
ABCDEDCBA
*/
public class T2
{
public static void main(String[] args)
{
for(int k=1; k<=5; k++){
for(int i=0; i<8-k; i++) System.out.print(" ");
for(int i=0; i<k; i++) System.out.print((char)('A'+i));
for(int i=0; i<k-1; i++) System.out.print((char)('A'+k-i-1-1));
System.out.println();
}
}
}