您的位置:首页 > 其它

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

2012-12-13 17:20 387 查看
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("---------------------------");
}
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: