刚学java 求一个菱形程序

解决方案 »

  1.   

    import java.util.Scanner;public class LingXing { /**
     * @param args
     */
    public static void main(String[] args) {
    // TODO Auto-generated method stub
    Scanner input = new Scanner(System.in);
    int count = 0;
    int count1 = 0;
    System.out.println("请输要打印几行菱形(请输入基数!):");
    count = input.nextInt();// 打印的总行数
    count1 = (count - 1) / 2;// 打印正三角形的行数
    int count2 = 1;// 打印正三角形"*"的初始值
    int No = count1;// 打印正三角形空格的初始值
    for (int i = 0; i < count1; i++) {// 打印正三角形
    for (int j = No; j > 0; j--) {// 打印空格
    System.out.print(" ");
    }
    for (int k = 0; k < count2; k++) {// 打印“*”
    System.out.print("*");
    }
    count2 += 2;// 打印"*"的个数每行加2
    No--;// 每隔一行空格就少一个
    System.out.println();// 换行
    }
    int No1 = 0;// 打印倒三角形空格的初始值
    for (int i = 0; i < count1 + 1; i++) {// 打印倒三角形
    for (int j = 0; j < No1; j++) {// 打印倒三角形的空格
    System.out.print(" ");
    }
    for (int k = 0; k < count2; k++) {// 打印正三角形的"*"
    System.out.print("*");
    }
    No1++;// 每隔一行空格就多一个
    count2 -= 2;// 每隔一行"*"就多两个
    System.out.println();// 换行
    }
    }
    }