[for循环之打印N行菱形]_JAVA_编程开发_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
您所在的位置: 程序员俱乐部 > 编程开发 > JAVA > [for循环之打印N行菱形]

[for循环之打印N行菱形]

 2010/12/11 11:31:44  dotjar  http://niewj.javaeye.com  我要评论(0)
  • 摘要:importjava.util.Scanner;publicclassPrintDiamond{privateintlineSize;//菱形总共占的行数:注:只能是单数!publicPrintDiamond(intmax){if(max<0){System.out.println("您输入的数据不合法:必须是大于0的整数!");return;}elseif(max%2==0){System.out.println("您输入的如果是偶数;将会自动加1再输出!");this
  • 标签:for
 import java.util.Scanner;

public class PrintDiamond {
    private  int lineSize;//菱形总共占的行数:注:只能是单数! 
    public PrintDiamond(int max){
        if(max<0){
            System.out.println("您输入的数据不合法:必须是大于0的整数!");
            return;
        }else if(max%2==0){
            System.out.println("您输入的如果是偶数;将会自动加1再输出!");
            this.lineSize = max+1;
        }else{
            this.lineSize= max;
        }
//mid为最中间是第几行(行号)! 
//比如输出图形为9行的菱形,中间行就是第5行,mid就是5; 
        int mid = (lineSize+1)/2;
        for(int i=1;i<=lineSize;i++){
            int j,k;
            if(i<=mid){
                for(j=1;j<=mid-i;j++)
                    System.out.print(" ");
                for(k=1;k<=2*i-1;k++)
                    System.out.print("*");
            }else{
                for(j=1;j<=i-mid;j++)
                    System.out.print(" ");
                for(k=1;k<=lineSize-2*(j-1);k++)
                    System.out.print("*");
            }
            System.out.print("\n");
        }
    }
    
    public static void main(String[] args) {
        while(true){
            Scanner sc = new Scanner(System.in);
            System.out.println("请输入您想要打印的菱形的行数,然后回车确认(注:数字只能是大于0的整数!");
            System.out.print("请输入:");
            int lineSize = sc.nextInt();
            System.out.println("---------------------------");
            new PrintDiamond(lineSize);//要打印的菱形的行数! 
            System.out.println("---------------------------");
        }
    }
}
发表评论
用户名: 匿名