Java 之 菱形

题目:打印出如下图案(菱形)。

   

 

 1.程序分析:先把图形分成两部分来看待,前四行一个规律,后三行一个规律,利用双重 for循环,第一层控制行,第二层控制列。 

编程实现:

import java.util.*;

public class PrintDiamond{

  public static void main(String []args){

    int line;

    System.out.print("Please input the lines of a diamond:");

    Scanner scanner = new Scanner(System.in);

    line = scanner.nextInt();

 

    for(int i=0; i<line*2+1; i++){

      for(int j=0; j<line*2+1; j++){

        if(i+j>=line && i+j<=3*line && i-j>=-line && i-j<=line){

          System.out.print("*");

        }else{

          System.out.print(" ");

        }

      }

      System.out.println(); //换行

    }

  }

}

 

思路二:将菱形看成一个坐标轴,其有正负坐标。

import java.util.*;

public class PrintDiamond{

  public static void main(String []args){

    int left;

    int right;

    System.out.print("Please input the lines of a diamond:");

    Scanner scanner = new Scanner(System.in);

    right = scanner.nextInt();

    left = -right;

    

    for(int i=left; i<=right; i++){

      for(int j=left; j<=right; j++){

        System.out.print((Math.abs(i)+Math.abs(j)<=right)?"*":" ");

      }

      System.out.println();

    }

  }

}

 

思路三:利用二维数组打印。

程序略...

posted @ 2012-01-29 19:20  qin520  阅读(562)  评论(0编辑  收藏  举报