记录一次错误

ygcDiary / 2023-08-14 / 原文

记录一次错误

需求:输出一个爱心
     *** ***
	********* 
	 *******  
	  *****  
	   ***	  
	    *   
public class ForExer{
	public static void main(String[] args) {
		for (int i = 6 ; i >= 1 ; i--) {
			for (int k = 1 ; k <= 6-i ; k++ ) {
				System.out.print(" ");
			}
			for (int j = 1; j <= (2*i)-1 ; j++) {
				if (i == 6 && (j == 1 || j == 2 || j == 6 || j == (2*i)-1 || j == (2*i)-2) ) {
					System.out.print(" ");
				}else if (i == 5) {
					System.out.print("*");
				}else{
					System.out.print("*");
				}
			}
			System.out.println();
		}
	}
}

  1. 先输出一个11*11的矩形
  2. 在输出*之前对其进行处理,使用for循环,提前打印出2-6行的空格(0,1,2,3,4)个空格
  3. 先用for循环输出一个倒三角
  4. 在对第一行进行处理,第一行1,2位置是空格,6位置,倒数第一,倒数第二位置是空格,使用if让空格代替*号
  5. 第二行没有空格使用else..if全部输出*号替换之前预先打印的空格
  6. 其余的不变,直接输出