题目
RT,输出菱形
主要方法就是将菱形分成上下两部分,然后分别打印空白和*号。
参考来源:实例-打印菱形
这题想不通内层循环的条件该怎么取,结果还是参考了别人的。
以下
public class Problem19 {
public static void main(String[] args) {
int n =9; // n为多少行的菱形
if( n%2==0){ //如果n为偶数
n++;
}
//上半部分
for (int i = 0; i <n/2+1 ; i++) {
for (int j = 0; j <(n/2)-i ; j++) { //先输出上半部分的空白
System.out.print(" ");
}
for (int j = 0; j <2*i+1 ; j++) { //输出上半菱形组成部分
System.out.print("*");
}
System.out.println();
}
//下半部分
for (int i = n/2-1; i >=0 ; i--) {
for (int j = 0; j <(n/2)-i ; j++) {
System.out.print(" ");
}
for (int j = 0; j <2*i+1 ; j++) {
System.out.print("*");
}
System.out.println();
}
}
}
结果:
由于下面这两段循环是一样的,可以抽取至方法中。
public static void printL(int n , int i){
for (int j = 0; j <(n/2)-i ; j++) {
System.out.print(" ");
}
for (int j = 0; j <2*i+1 ; j++) {
System.out.print("*");
}
System.out.println();
}