源码:
package rhombus;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
System.out.print("请输入你要打印菱形跨度的半边(包括中心):");
Scanner input=new Scanner(System.in);
int crosswise=input.nextInt();
input.close();
crosswise=2*crosswise-1;
int record=1;
int requiredRhoubus=2*record-1;
int requiredBlank=crosswise-requiredRhoubus;
requiredBlank=requiredBlank/2;
int i,j;
for(i=1;i<=crosswise/2+1;i++)//打印菱形的上半边
{
for(j=0;j<requiredBlank;j++)
{
System.out.print(" ");
}
for(j=0;j<requiredRhoubus;j++)
{
System.out.print("*");
}
for(j=0;j<requiredBlank;j++)
{
System.out.print(" ");
}
System.out.print("\n");
record++;
requiredRhoubus=2*record-1;
requiredBlank=crosswise-requiredRhoubus;
requiredBlank=requiredBlank/2;
}
requiredRhoubus=(crosswise-record+1)*2-1;//打印菱形的下半边,计算规则改变
requiredBlank=crosswise-requiredRhoubus;
requiredBlank=requiredBlank/2;
for(i=record;i<=crosswise;i++)
{
for(j=0;j<requiredBlank;j++)
{
System.out.print(" ");
}
for(j=0;j<requiredRhoubus;j++)
{
System.out.print("*");
}
for(j=0;j<requiredBlank;j++)
{
System.out.print(" ");
}
System.out.print("\n");
record++;
requiredRhoubus=(crosswise-record+1)*2-1;
requiredBlank=crosswise-requiredRhoubus;
requiredBlank=requiredBlank/2;
}
}
}
测试结果
源码属于个人原创,亲测有效,没有参照任何人的代码