java用循环画三角形思路

对于一个问题,要学者换个角度,看问题的本质;
我们要在一张白纸上面画一个东西,本质是一个多少行多少列的任务;
那么一个外出for可以控制行,内部循环可以控制列的任务数;
注:每次打印一个字符就是一次任务,包括空格;

有了思路:乘法口诀,等边三角,画‘回’字都不在话下;

扩展:试着在一个循环里面用if来取代循环,让3个循环变成两个;然后试着让两个循环变成一个;

package basis.week01;

public class Test03 {
	// 画直角三角形
	public static void main(String[] args) {
		// 1、原始思路,画一个长方形(正方形也是一种特殊的长方形)
//		//外循环控制行
//		for(int i=1;i<=9;i++) {
//			for(int j=1;j<=9;j++) {
//				//内循环控制每列做多少次事情
//				//每次做9次固定
//				System.out.print("*");
//			}	
//			//外循环负责一行所有事情做完之后剩下的事情,比如换行
//			System.out.println();	
//		}

//		// 2、思路进一步
//		// 外循环控制行
//		for (int i = 1; i <= 9; i++) {
//			// 内循环要做两种事情了,一种画*,一种话+,但是一行一共完成9次就好了
//			for (int j = 1; j <= 8; j++) {
//				// 内循环控制每列做多少次事情
//				// 每次做8次固定
//				System.out.print("*");
//			}
//			for (int x = 1; x <= 1; x++) {
//				// 内循环控制每列做多少次事情
//				// 上面完成了8次*,还剩一次任务没有完成
//				System.out.print("+");
//			}
//			// 外循环负责一行所有事情做完之后剩下的事情,比如换行
//			System.out.println();
//		}
		
//		// 3、思路进二步,里面一共就干了9次活,那么只要总和满足9次就好了,我们就可以联动了
//		//*号越来越多,直角在左下方
//		for (int i = 1; i <= 9; i++) {
//			for (int j = 1; j <= i; j++) {
//				System.out.print("*");
//			}
//			for (int x = 1; x <= 9-i; x++) {
//				System.out.print(" ");
//			}
//			System.out.println();
//		}
		
//		//*号越来越少,直角在左上方
//		for (int i = 1; i <= 9; i++) {
//			for (int j = 1; j <= 10-i/*此时i起始就是1了,9-1就是8了,少了一次,稍微处理一下就可以了*/; j++) {
//				System.out.print("*");
//			}
//			for (int x = 1; x < i; x++) {
//				System.out.print(" ");
//			}
//			System.out.println();
//		}
		
//		//*号越来越少,直角在右上方
//		//那么这种就是空格越来越多,而且空格的任务要先做
//		for (int i = 1; i <= 9; i++) {
//			for (int x = 1; x <= i-1; x++) {
//				System.out.print(" ");
//			}
//			for (int j = 1; j <= 10-i/*此时i起始就是1了,9-1就是8了,少了一次,稍微处理一下就可以了*/; j++) {
//				System.out.print("*");
//			}
//			System.out.println();
//		}
		
		//*号越来越多,直角在右下方
		//那么这种就是空格越来越少,而且空格的任务要先做
		for (int i = 1; i <= 9; i++) {
			for (int x = 1; x <= 9-i; x++) {
				System.out.print(" ");
			}
			for (int j = 1; j <= i/*此时i起始就是1了,9-1就是8了,少了一次,稍微处理一下就可以了*/; j++) {
				System.out.print("*");
			}
			System.out.println();
		}

	}
}

posted @ 2020-12-05 16:27  项安然  阅读(489)  评论(0编辑  收藏  举报