问题描述:
请编程输出一个菱形。输入为菱形中心到顶点的距离
样例输入
2
样例输出
import java.util.Scanner;
public class 菱形 {
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner sc=new Scanner(System.in);
int num = sc.nextInt();
int number=num+1;
for(int i =1;i<=number;i++)
{
for(int j=1;j<=number-i;j++)
//先打印空格后打印*
//空格个数为number-i
{
System.out.print(" ");
}
for(int k=number-i+1;k<=number+i-1;k++)
//*个数为number+i-1-(number-i+1)个
//number-i+1为*起始位置,number+i-1为结束位置(位置相同则为一个)
{
System.out.print("*");
}
System.out.println();
}
for(int i =number+1;i<2*number;i++)
{
for(int j=1;j<=(i-number);j++)
{
System.out.print(" ");
//空格结束位置后一位就是*起始位置
}
for(int k=(i-number+1);k<3*number-i;k++)
//*位置起始为(i-number+1)截止位置为 3*number-i;
//*数为4*number-2*i+1
//除去中心线外每边的*个数为2*number-i,
//所以截止位置就应该是中心线加上一边*的个数
{
System.out.print("*");
}
System.out.println();
}
}
}