Java输出空心菱形

我们写

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

文章目录

  • 前言
  • 一、Java输出空心菱形
  • 二、使用步骤
    • 1.步骤
    • 2.代码
  • 总结


前言

我们写编程题要有一个好的编程思想,一个好的编程思想能让我们化繁为简,更容易的将编程题写出来


提示:以下是本篇文章正文内容,下面案例可供参考

一、Java输出空心菱形

在学校学完空心金字塔问题之后,我觉得可以尝试写一个空心菱形

二、使用步骤

1.步骤

 我们最终要完成的结果是这样的

//画一个空心菱形
/*
         *
        * *
       *   *
      *     *
     *       *
      *     *
       *   *
        * *
         *
*/

 先是化繁为简:我把它想成一个实心菱形,然后再分成了上半个三角形和下半个三角形

1.先画一个实心的菱形  
					 *			
			        ***			
			       *****		
			      *******		
			     *********				
			      *******		
			       *****		
			        ***			
			         *			
2.分成两个实心三角形
                     *			
			        ***			
			       *****		
			      *******		
			     *********

                  *******		
			       *****		
			        ***			
			         *	

上面的三角形是由空格和*组成的,再想出它们没有空格的样子

        *
        ***
        *****
        *******
        *********

        *******
        *****
        ***
        *

再想出它们是矩形的样子

                *********
				*********
				*********
				*********
				*********
				*********
				*********
				*********
                *********

2.代码

有了思路以后,我们就可以开始写代码了

先写出矩形的代码,如下:

for(int j = 1 ; j <= 5 ; j++){
    System.out.println("*********");
}

for(int j = 1 ; j <= 4 ; j++){
    System.out.println("*********");
}

 再写出没有空格的两个三角形的代码

for(int i = 1 ; i <= 5 ; i++){
    for(int j = 1 ; j <= 2 * i - 1 ; j++){
        System.out.println("*");
    }
}

for(int i = 1 ; i <= 4 ; i++){
    for(int j = 1 ; j <= 9 - 2 * i ; j++){
        System.out.println("*");
    }
}

 再写出空格的代码

for(int k = 1 ; k <= 5 - i ; k++){
	System.out.print(" ");
}

for(int k = 1 ; k <= i ; k++){
	System.out.print(" ");
}

 最后再写出空心的代码

if(j == 1 || j == 2 * i - 1){
	System.out.print("*");
}else{
	System.out.print(" ");
}

if(j == 1 || j == 9 - 2 * i){
	System.out.print("*");
}else{
	System.out.print(" ");
}

完整代码如下:

public class StarExercise01{

	public static void main(String[] args){

		
		for(int i = 1 ; i <= 5 ; i++){
			for(int k = 1 ; k <= 5 - i ; k++){
				System.out.print(" ");
			}
			for(int j = 1 ; j <= 2 * i - 1 ;j++){
				if(j == 1 || j == 2 * i - 1){
					System.out.print("*");
				}else{
					System.out.print(" ");
				}
				
			}
			System.out.println("");
		}
		
		for(int i = 1 ; i <= 4 ; i++){
			for(int k = 1 ; k <= i ; k++){
				System.out.print(" ");
			}
			
			for(int j = 1 ; j <= 9 - 2 * i ; j++){
				if(j == 1 || j == 9 - 2 * i){
					System.out.print("*");
				}else{
					System.out.print(" ");
				}
				
			}
			System.out.println("");
		}
		
		
	}
}


总结

这个代码是在是在Sublime上面写的,化繁为简能够让我们更好的完成代码

你可能感兴趣的:(java,开发语言,后端)