打印如下所示等腰三角形
package softTest;
public class Tri {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
outTri(9);
}
/*
* 方法1
* f用来处理空格与*交替
* N为行数,k为*出现的数目
*/
public static void outTri(int N) {
boolean f = true;
for (int i = N, k = 1; i >= 1; k++, i--) {
int count = k;
for (int j = 1; j <= 2 * N - 1; j++) {
if (j >= i && f && count > 0) {
count--;
System.out.print("*");
f = false;
} else {
System.out.print(" ");
f = true;
}
}
System.out.println();
}
}
/*
* 方法2
* f用来处理空格与*交替
* N为行数,k为*最大的位置
*/
public static void outTri2(int N) {
boolean f = true;
for (int i = N, k = N; i >= 1; k++, i--) {
for (int j = 1; j <= 2 * N - 1; j++) {
if (j >= i && f && j <= k) {
System.out.print("*");
f = false;
} else {
System.out.print(" ");
f = true;
}
}
System.out.println();
}
}
}
打印如下图所示空心三角形
思想如方法2,确定最远的位置,然后比较输出
package softTest;
public class TriKongXin {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
outTri(9);
}
public static void outTri(int N) {
for (int i = N, k = N; i >= 1; k++, i--) {
boolean f = true;
for (int j = 1; j <= 2 * N - 1; j++) {
if (i != 1) {
if (j >= i && (j == i || j == k)) {
System.out.print("*");
} else {
System.out.print(" ");
}
} else {
if (j >= i && f) {
System.out.print("*");
f = false;
} else {
System.out.print(" ");
f = true;
}
}
}
System.out.println();
}
}
}