1、输出一个直角三角形
demo :
for (int i = 0 ; i < 4 ; i++) {
for (int j = 0; j <= i ; j++) {
System.out.print("* ");
}
System.out.println();
}
2、输出一个正三角形
demo(自写) :
for (int i = 0 ; i < 4 ; i++) {
for (int j = 0; j <= i ; j++) {
System.out.print(" * ");
}
System.out.println();
}
demo(正确答案):
for (int i = 0 ; i < 4 ; i++) {
for (int k = 1; k < 5 - i ; k++) {
//k如果等于0开始执行,整个三角形会右移一个空格,无大碍
System.out.print(" ");
//忽略了先输出足够的空格再输出*,并且在考虑时,多想了右边需要多少个空格,
}
for (int j = 0; j <= i ; j++) {
System.out.print(" * ");
}
System.out.println();
}
小结论:思考不周,没有多发思考,以及无用思考。
3、输出一个空心三角形
demo :
for (int i = 0 ; i < 5 ; i++) {
for (int k = 1; k < 5 - i ; k++) {
System.out.print(" ");
}
for (int j = 0; j <= i; j++) {
if (i < 4) {
//如果没有该if判断,会发生什么?
//最后一行也将会继续留空,即三角形的底边无法生成
if (j == 0 || j == i) {
System.out.print("* ");
}else {
System.out.print(" ");//此处为2个空格
}
}else {
System.out.println("*");
}
}
System.out.