如何用java编程实现这个图形:
*
* * *
* * * * *
* * *
*
小弟在这里先谢谢了。
------解决方案--------------------------------------------------------
private void xingxing(int bianchang){
bianchang=bianchang-1;
int i,j,m,n; //i和j为循环变量 m为横坐标 n为纵坐标
for(i=-bianchang;i<=bianchang;i++){
for(j=bianchang;j>=-bianchang;j--){
m=i;
n=j;
if(m<0){
m=-m;
}
if(n<0){
n=-n;
}
if((m+n)<=bianchang){
System.out.print("*");
}
else{
System.out.print(" ");
}
}
System.out.println("");
}
}
------解决方案--------------------------------------------------------
LZ试下我的程序吧,输入输出格式如下:
Input:
n
count1
count2
count3
...
output:
count1,count2,count3对应的图
源码如下,注:需要1.5版本以上的JDK,类名需改成和你自己对应的
public class Main
{
public static void main(String args[])
{
Scanner stdin=new Scanner(System.in);
int number=stdin.nextInt();
for(int count=0;count<number;count++)
{
int n=stdin.nextInt();
String s="";
//顺
for(int i=1;i<=n;i+=2)
{
for(int j=n-i;j>0;j--)
s+=" ";
for(int k=1;k<=i;k++)
s+="* ";
s+="\n";
}
//逆
for(int i=n-2;i>=1;i-=2)
{
for(int j=n-i;j>0;j--)
s+=" ";
for(int k=1;k<=i;k++)
s+="* ";
s+="\n";
}
System.out.println(s);
}
}
}
例:
3
1
*
3
*
* * *
*
5
*
* * *
* * * * *
* * *
*
可以一次打印多个基于n的图形