`

黑马程序员:for综合图形整合结晶

 
阅读更多
package Graph;

public class Test8 {
	public static void main(String[] args) {
		// 自定义行列,行数必须大于等于列数,形状才符合
		int row = 24;
		int colunm = 24;
		int row2 = row / 2;
		int colunm2 = colunm / 2;

		System.out.println("********************************************");
		System.out.println("");
		//***********上半部分左边右边大结合
		for (int i = 0, jL = 0, k = 0, jR = 0, j = 0; i < row; i++) {

			// 左边,上
			// j_l左边起始的指针
			// j总指针,从0到尽头16-1
			// k遍历列
			while (j < colunm2 - 1) {
				for (k = 0; k < colunm2 - jL + 1; k++) {
					while (jL < colunm2 - i) {
						System.out.print("1");
						jL++;
						j++;
					}
					// jL已经完成使命,不再使用
					j++;
					System.out.print("2");
				}

			}

			// 右边,下
			// jR右边起始为0的指针
			while (j >= colunm2 - 1 && j < colunm - 1) {
				for (k = 0; k < colunm - j + 2;) {
					while (jR < i + 1) {
						System.out.print("3");
						jR++;
						j++;
					}
					j++;
					System.out.print("4");
				}
			}

			// 每换一行,指针清零
			jL = 0;
			jR = 0;
			j = 0;
			System.out.println("");
			
			// i到达中间的时候
			if (i > row2 - 2 && i < row - 1) {
				int row_D = row - row2;
				down(row_D, colunm2, colunm);
				break;
			}
		}

	}
	//下半部分左边右边大结合
	private static void down(int row, int colunm2, int colunm) {

		int b = 0;
		for (int i = 0, jL = 0, k = 0, jR = 0, j = 0; i < row; i++) {
		
			// 当处于右下左边时
			while (j < colunm2 - 1) {
				for (k = 0; k < colunm2 - i; k++) {
					while (jL < i + 1) {
						System.out.print("5");
						jL++;
						j++;
					}
					j++;
					System.out.print("6");

				}
			}
			
			// 当处于右下右边时
			while (j > colunm2 && j < colunm) {
				for (k = 0; k < colunm - jR - row + 1; k++) {
					while (jR < colunm2 - i) {
						System.out.print("7");
						j++;
						jR++;
					}
					j++;
					
					System.out.print("8");
				}				
			}
		
			// 每换一行,指针清零
			jL = 0;
			jR = 0;
			j = 0;

			// 换行
			System.out.println("");			
		}
	}

}


package Graph;

public class Triangle {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		int row = 8;
		int colunm = 8;
		int f = 1;
		int row2 = row / 2;
		int colunm2 = colunm / 2;
		// 1****************左上三角
		System.out.println("--1左上三角--" + f++ + "---");
		for (int i = 0; i < row; i++) {
			for (int j = 0; j < colunm - i; j++) {
				System.out.print("*");
			}
			System.out.println("");
		}

		System.out.println("");
		System.out.println("");

		// 2****************左下三角
		System.out.println("-2左下三角---" + f++ + "---");
		for (int i = 0; i < row; i++) {
			for (int j = 0; j < i; j++) {
				System.out.print("*");
			}
			System.out.println("");
		}

		System.out.println("");
		System.out.println("");

		// 3****************左下右上组合,把-符号改了就是右上了
		System.out.println("-3左下右上组合---" + f++ + "---");
		for (int i = 0; i < row; i++) {
			// 换行的时候,每次做内层的时候j必须要清0
			int head = 0;
			// 外层循环只要循环他要循环的就可以了,用边界条件限制
			// 因为是先做内层循环的事情的
			for (int j = 0; j < colunm - i; j++) {
				while (head < i) {
					System.out.print("-");
					head++;
				}
				System.out.print("*");
			}
			System.out.println("");
		}

		System.out.println("");
		System.out.println("");

		// 4****************右下左上组合,把-符号改了就是右下了
		System.out.println("-4右下左上组合---" + f++ + "---");
		for (int i = 0, j = 0; i < row; i++) {
			// 换行的时候,每次做内层的时候j必须要清0
			j = 0;
			for (int k = 0; k < colunm - j + 1; k++) {
				while (j < colunm - i) {
					System.out.print("-");
					j++;
				}
				System.out.print("*");
			}
			System.out.println("");
		}
		System.out.println("");
		System.out.println("");
	}

}


package Heima001_DumpAndDown200;


public class Test2 {
	public static void main(String[] args)  {
		//自定义行列
		int row = 7;
		int colunm = 13;
		int [][] a = new int [row][colunm];
		for(int i = 0, j = 0; i < row;i++){
			//如果大于最后一行-2,即到达最后一行-1,则按第2规律执行,否则按第1规律执行
			if(i > row-3){
				for(j = i; j < colunm - i;j++){
					a[i][j] = 1;
				}
				continue;
			}
			
			int head = 0;

			//元素行与列位置相同,遍历列,遍历长度小于最右边元素长度
			for(j = i; j < colunm - i;j++){
				
				//当元素下标等于3,到达空白处;下标等于最右边元素位置-3,可以到达空白处
				if(head == 2 || head == (colunm - 1) -2*i -2){
					a[i][j] = 0;
				}else{
					a[i][j] = 1;
				}
				//前面下标++,换行时,重置为0
				head++;				
			}		
		}

		//倒置输出上半部
		for(int i = row - 1; i > 0; i--){
			for(int j = 0; j < colunm; j++){
				if(a[i][j] == 1){
					System.out.print("*");
				}else if(a[i][j] == 0 ){
					System.out.print(" ");
				}
			}
			System.out.println();			
		}
		//输出下半部
		for(int i = 0; i < row; i++){
			for(int j = 0; j < colunm; j++){
				if(a[i][j] == 1){
					System.out.print("*");
				}else if(a[i][j] == 0 ){
					System.out.print(" ");
				}
			}
			System.out.println();			
		}
	}
}

//修改了一下代码,把图中end下标去除了,将head判断处改为head == (colunm - 1) -2*i -2



真心花了不少时间,不过还是在摸索中懂了很多东西
for的联系到此为止了
其实上面的方法并不是很好,效率可能还行,但是我觉得二维数组做起来会更简单
当年在学校学C语言的时候,作业还是copy别人的,现在自己弄了一下其实也没太难,只是有些麻烦
有感兴趣的,可以拿去参考,欢迎拍砖
  • 大小: 59.5 KB
  • 大小: 117.9 KB
  • 大小: 57.4 KB
分享到:
评论

相关推荐

    20210518-招商证券-深信服-300454-“云深知处”系列(三):网安与云的结晶,SASE初探.pdf

    20210518-招商证券-深信服-300454-“云深知处”系列(三):网安与云的结晶,SASE初探.pdf

    多因素综合作用下卤水盐结晶实验研究

    使采卤效率降低或采卤管堵塞的问题,综合考虑了卤水温度、盐含量和流速等因素在开采过程中的变化情况,根据相似模拟准则,在实验室内搭建的物理模拟试验平台上进行了多因素综合作用下盐结晶析出规律的研究。试验结果...

    2024年中国结晶紫染色液行业研究报告.docx

    通过以上内容的综合分析,我们可以看出,中国结晶紫染色液行业正处于一个稳步发展的阶段,市场竞争激烈但同时也充满了机遇。未来几年,随着技术和市场需求的变化,该行业有望实现更进一步的增长。

    仿美团外卖 (源码).zip

    在IT行业中,源码是程序员的心血结晶,是软件的灵魂所在。它是一种用编程语言编写的文本,记录了程序的所有逻辑和功能实现。对于学习、研究和改进软件来说,源码具有至关重要的意义。"仿美团外卖(源码)"是一个实例...

    元胞自动机模拟晶粒再结晶_GUI_matlab;元胞自动机;再结晶_nan_晶粒模拟_元胞自动机

    这个项目是基于MATLAB实现的,通过图形用户界面(GUI)来模拟金属晶粒的再结晶过程。 再结晶是金属材料在加热或塑性变形后,内部晶体结构重新排列,形成新的、无应变的等轴晶粒的过程。这个过程对材料的微观结构和...

    deform3D二次开发步骤_动态再结晶_deform二次开发_Deform3d_deform_DEFORM3D再结晶

    总结,DEFORM 3D的二次开发是一个涉及理论知识、编程技巧和实验验证的综合过程。动态再结晶模型的开发需要深入理解材料科学和数值计算方法,同时,耐心和细致也是必不可少的。通过这一过程,你可以更好地理解和控制...

    磁场退火对无取向硅钢再结晶组织结构的影响:II 再结晶晶粒尺寸

    在磁性材料研究领域,无取向硅钢作为一种重要的软磁材料,在电机和变压器等电磁设备中广泛应用。...这些研究成果为无取向硅钢的工业生产提供了理论依据和技术支持,有助于进一步提高材料的综合性能和生产效率。

    DSC非等温结晶数据处理.docx

    通过这些图形,可以深入分析材料的结晶行为,比如结晶速率、完整结晶所需的时间等。 以上步骤详细解释了如何从DSC非等温结晶实验数据中提取有用信息,包括温度和时间对结晶度的影响,这对于材料科学、化学工程和...

    2024年欧洲结晶果糖市场主要企业市场占有率及排名.docx

    ### 2024年欧洲结晶果糖市场主要企业市场占有率及排名 #### 一、结晶果糖定义与市场规模 1. **结晶果糖产品定义**:结晶果糖是一种甜味剂,通常作为蔗糖的替代品应用于食品工业中。其甜度约为蔗糖的1.7倍,且具有...

    分子筛相对结晶度计算.docx

    ### 分子筛相对结晶度计算知识点详解 #### 一、分子筛相对结晶度的基本概念 分子筛是一种具有均匀微孔结构的固体吸附剂或催化剂载体,因其独特的孔径分布和良好的化学稳定性,在石油化工、气体分离等领域有着广泛...

    计算机图形学实用技术(第2版)

    本书是作者基于多年教学与科研经验的结晶,旨在帮助读者理解和掌握计算机图形学的核心概念和技术,以便在实际工作中应用。 计算机图形学是计算机科学的一个重要分支,它涉及图像的生成、处理、显示以及交互操作。在...

    气相氧化法制备氧化锌的结晶形貌

    ### 气相氧化法制备氧化锌的结晶形貌 #### 概述 本文献主要研究了锌蒸气高温气相氧化条件下氧化锌(ZnO)的结晶形貌及其形成机制。作者通过实验发现,利用这种方法制备的氧化锌呈现出五种典型的结晶形貌:无定形、...

    分子筛相对结晶度计算.zip

    《分子筛相对结晶度计算》 在化学工程与材料科学领域,分子筛是一种具有规则孔道结构的无机非金属材料,广泛应用于催化剂、吸附剂和分离介质等。分子筛的性能与其结晶度密切相关,因此,对分子筛的相对结晶度进行...

    蛋白质结晶研究进展

    在实际操作中,选择合适的蛋白质结晶方法需要综合考虑实验条件、蛋白质的特性以及研究目标。为了获得最佳的结晶效果,研究人员通常需要通过预实验来筛选和优化蛋白质结晶的条件。 总之,蛋白质结晶研究的进展对于...

    反应结晶PPT课件.pptx

    反应结晶是一种特殊的结晶过程,它不同于传统的物理结晶方式,如蒸发和冷却来达到饱和度。在反应结晶中,饱和度是通过两种或多种可溶性物质间的化学反应产生难溶化合物来实现的。这一过程有几个显著特点: 1. **...

    硫酸亚铁蒸发结晶技术.pdf

    3. 结晶:当溶液达到一定程度的过饱和状态时,硫酸亚铁会开始结晶。这个阶段需要注意控制温度和搅拌速率。太快或太慢的结晶速度都可能影响晶体的质量和大小。 4. 分离:结晶完成后,需要将形成的硫酸亚铁晶体与母液...

    双溶剂重结晶指南

    双溶剂重结晶是一种化学纯化技术,常用于分离和纯化有机化合物。在此过程中,通过选择两种互不相溶的溶剂,第一种溶剂(#1溶剂)用于溶解目标化合物,第二种溶剂(#2溶剂)则用于从含有目标化合物的第一种溶剂中诱导...

    结晶性塑料和非结晶性塑料的区别.pdf

    结晶性塑料冷却时释放热量大,需要充分冷却,而模温、压力和速度的设定需综合考虑结晶度和制品收缩率。非结晶性塑料则可通过调整模温来提高透明度或控制收缩。 非结晶性塑料因其表面能吸收其他分子,适合进行各种...

Global site tag (gtag.js) - Google Analytics