常数变易法学习笔记

特点:在多个量需要变化的情况下,可以先取一个特例,变化的量都为确定值,实现一次。之后再在实现的基础上,把常量依次变回变量。

 

/*
         *
        * *
       * * *
      * * * *
     * * * * *
*/
/*
打印这样有规律的图形,其中星号的个数在变化,每行的空格数也在变化。可以先取一个特例,两个都为常数的情况。
比如最后一行。先打印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();
		}
	}
}



 


 


 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值