简单图形的打印

一、如下图形的打印

 改图形共有五行,且每一行从上到下从一增加到五,所以每行打印“*”的个数与行数相同,我们用变量i控制行数,作为外层循环,用j控制个数,作为内层循环。代码如下:

public class test {

	public static void main(String[] args) {
		//外层循环控制行数
		for(int i = 1;i<=5;i++) {
			//内层循环控制个数
			for(int j = 1;j<=i;j++) {
			System.out.print("*");
			}
		//每打印一行就换行
		System.out.println();
		}

	}

}

二、如下图形的打印

二与一不同之在于二是从上到下依次减少的,

我们采用与一相同的办法,观察行数与每行个数的关系,不难发现,每行的行数与个数相加等于6,所以j<=6-i;代码如下:

public class test1 {

	public static void main(String[] args) {
		//外层循环控制行数
		for(int i = 1;i <=5;i++) {
			//内层循环控制个数
			for(int j = 1;j <= 6-i;j++) {
				System.out.print("*");
			}
		//每打印一行换行
		System.out.println();
		}

	}

}

 三、如下图形的打印

 第一行空格4星号1,第二行空格3星号3,第三行空格2星号5

不难看出空格加行数等于5,星号=1+2*(i-1)程序如下

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 j = 1;j<=1+2*(i-1);j++) {
				System.out.print("*");
			}
			System.out.println();
		}
	}
}

   四、如下图形的打印

此图形由于上下变化规律不一样故可以将其分成两部分分开打印代码如下

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 j = 1;j<=1+2*(i-1);j++) {
				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 j = 1;j<=9-2*i;j++) {
				System.out.print("*");
			}
			System.out.println();
		}
	}
}

​

 五、其它图形的打印以及代码

class test10{
	public static void main(String[] args){
		for(int i=0;i<5;i++){
			for(int j=0;j<4-i;j++){
				System.out.print(" ");
			}
			for(int k=0;k<i+1;k++){
				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 k=1;k<=5-i;k++){
				System.out.print("* ");
			}
			System.out.println();
		}
	}
}

 

class test1{
	public static void main(String[] args){
        //上半部分
		for(int i=0;i<5;i++){
			for(int k=1;k<6-i;k++){
				System.out.print("*");
			}
			for(int j=1;j<=2*i;j++){
				System.out.print(" ");
			}
			for(int k=1;k<6-i;k++){
				System.out.print("*");
			}
			System.out.println();
		}
		
        //下半部分
		for(int i=1;i<=4;i++){
			for(int j=1;j<=i+1;j++){
				System.out.print("*");
			}
			for(int k=1;k<=8-(2*i);k++){
				System.out.print(" ");
			}
			for(int j=1;j<=i+1;j++){
				System.out.print("*");
			}
			System.out.println();
		}
	}
}

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值