从锦囊妙计想到的25–输出一个稍复杂的图形的编程过程

前面介绍了很多屏幕输出的东西, 其中在23中还介绍了, java开发环境的安装, java项目的创建, 具体的参照前面23的文章, 特别是里面的gif动画演示的过程

本文承接前面的23来输出一个略微复杂点的 图形。

本文目标:

1. 熟悉java的集成开发环境

2. 熟悉java的语言本身

3. 继续熟悉总分总的 分析问题,解决问题的思想(其实就是面向过程的 模块化编程思想)

还是先看看 , 本文要输出的图形

一。 任务分析(工作分析, 需求分析都可以)

上面图形, 同前面的一个  及其相似, 因此我们可以用类似的手法进行处理

如下图

本任务可以分解我   输出红色区域, 和输出绿色区域两个子任务,

然后红色区域还是 一行一行的输出,  在每输出一行的前面先输出 空白, 然后输出*

在输出 下面绿色的部分的时候, 也是要 一行一行的输出, 只是输出内容是递减的, *和空白的数量减少

具体的参照下面的代码编写过程。

由于内容比较简单,设计过程基本就从略了

二。采用java开发输出的功能

具体的编写过程已经在视频里面了

视频地址如下:

链接:https://pan.baidu.com/s/1bkmMMakC5pyIeF3Dci5LMg    提取码:pml6

最终源代码如下:

public class TuXing {
	/**
	 * @param args
	 */
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		ShuChuShang(6, 6);  // 输出上面
		ShuChuXia(5, 6);    // 输出下面
	}
	public static void ShuChuShang(int HangShu, int ZongShu){


		/*ShuChuHang1(1, 6);  // 输出第一行
		ShuChuHang1(2, 6);  // 输出第二行
		ShuChuHang1(3, 6);  // 输出第二行
		ShuChuHang2();  // 输出第二行
*/

		for(int i = 1; i <= HangShu; i++)
		{
			ShuChuHang(i, ZongShu);
		}
		// 后面的不写了, 不用,以后优化掉了
	}
	//                   ShuChuShang
	public static void ShuChuHang(int HangShu, int ZongShu){
		ShuChuKongBai(ZongShu - HangShu); // 输出空白
		ShuChuXing(HangShu); // 输出*
		System.out.println(); // 输出 换行
	}
	public static void ShuChuKongBai(int count){
		for(int i = 0;  i < count; i++){
			System.out.print(" ");
		}
	}
	public static void ShuChuXing(int count){
		for(int i = 0; i < count; i++){
			System.out.print("*");
		}
	}
	public static void ShuChuHang2(){
	}
	// 这个是输出下面的部分的
	public static void ShuChuXia(int HangShu, int ZongShu){
//		for(int i = 1; i <= HangShu; i++) //		{ //			ShuChuHang(i, HangShu); //		} 		for(int i = HangShu; i > 0; i--)
		{
			ShuChuHang(i, ZongShu);
		}
	}
}

 

核心代码是
这个是输出下面的部分的图形 public static void ShuChuXia

输出上面的图形部分 public static void ShuChuShang(int HangShu, int ZongShu)

完整的工程代码如下:
ShuChuTuXing

 

思考题:

考虑如下图形的输出代码

1.  在计算机屏幕输出下面图形

2. 在计算机屏幕输出下面图形

3. 输出下面图形

4. 输出如下图形

5. 输出如下图形

6. 输出如下图形

源代码: 链接:https://pan.baidu.com/s/1mjmmkp6XP3iBRimwflFtyw   提取码:qp3n

 

相关文章

计算机介绍                                  从锦囊妙计想到的01

流程图(分支结构)介绍          从锦囊妙计想到的02

线程介绍                                     从锦囊妙计想到的03

循环结构介绍                             从锦囊妙计想到的05

流程线程总结                             从锦囊妙计想到的06

cpu和线程定义、开始               从锦囊妙计想到的07

分布式计算                                  从锦囊妙计想到的08

分布式中事件和计数                 从锦囊妙计想到的09

内容总结                                     从锦囊妙计想到的10

数据类型,变量简介                从锦囊妙计想到的11

函数和参数                                从锦囊妙计想到的12

用户交互与数据输入输出       从锦囊妙计想到的13

人机交互界面                            从锦囊妙计想到的15 

过程与对象                                从锦囊妙计想到的16

同步和异步                                从锦囊妙计想到的17

顺序打印                                    从锦囊妙计想到的18

数据输入输出                            从锦囊妙计想到的19

屏幕坐标和打印                        从锦囊妙计想到的20

java函数控制输出                     从锦囊妙计想到的21

逐步细化解决复杂问题           从锦囊妙计想到的22

java入门                                    从锦囊妙计想到的23

java复杂过程分析                   从锦囊妙计想到的25

中间辅助功能解决问题          从锦囊妙计想到的26

叠加操作输出复杂图形          从锦囊妙计想到的27

时间和空间                               从锦囊妙计想到的28

编写边测解决问题                  从锦囊妙计想到的29

让程序动起来                          从锦囊妙计想到的30

程序往复运动                           从锦囊妙计想到的31