我想输出
*
***
*****
*******
*********
*******
*****
***
*
程序是这样的,就是不能输出结果
//Xing1.java
public class Xing1{
public static void main(String args[]){
char a[]=new char[];
int i,j,k,p,q,m,n;
i=10;j=10;
for(m=1;m<20;m++)
Stringa[m++]=' ';
Stringa[10]='*';
for(m=1;m<=5;m++)
{Stringa[i--]=Stringa[10];Stringa[j++]=Stringa[10];
for(k=0;k<=18;k++)
System.out.print(+Stringa[k]);
System.out.println();}
p=10-m+1;q=10+m-1;
for(n=1;n<=4;n++)
{Stringa[p++]=Stringa[0];Stringa[q--]=Stringa[0];
for(k=0;k<=18;k++)
System.out.print(+Stringa[k]);
System.out.println();}
}
*
***
*****
*******
*********
*******
*****
***
*
程序是这样的,就是不能输出结果
//Xing1.java
public class Xing1{
public static void main(String args[]){
char a[]=new char[];
int i,j,k,p,q,m,n;
i=10;j=10;
for(m=1;m<20;m++)
Stringa[m++]=' ';
Stringa[10]='*';
for(m=1;m<=5;m++)
{Stringa[i--]=Stringa[10];Stringa[j++]=Stringa[10];
for(k=0;k<=18;k++)
System.out.print(+Stringa[k]);
System.out.println();}
p=10-m+1;q=10+m-1;
for(n=1;n<=4;n++)
{Stringa[p++]=Stringa[0];Stringa[q--]=Stringa[0];
for(k=0;k<=18;k++)
System.out.print(+Stringa[k]);
System.out.println();}
}
System.out.print(+Stringa[k])是什么意思?加号是作什么用的阿。而且你的Stringa有声明吗?
说实话我看不太懂你的程序。如果仅仅是要那个结果的话,那么你只需要存储一个最原始的String(第一行)设那个*的位置为x,y.那么下面只需x--,y++找到需要添加的*位置。在需要一个变量l控制扩展的次数(后面开始收缩,一直到x,y相等)也不需要你那么多的变量阿。可能我说的不是很明白,呵呵,凑合着看吧。
顺便问一下,你的程序能够编译吗?
这样是对的吗?
public class Xing3
{
public static void main(String args[])
{
char a[]=new char[9];
int i,j,k,m;
i=4;j=4;
for(m=0;m<9;m++)
a[m]=' ';
for(m=1;m<=9;m++)
{
if(m<5) { a[i--]='*'; a[j++]='*'; }
else if(m==5) { a[i]='*'; a[j]='*'; }
else { a[i++]=' '; a[j--]=' ';}
for(k=0;k<=8;k++)
System.out.print(a[k]);
System.out.println();
}
}
//Xing3.javapublic class Xing3
{
public static void main(String args[])
{
char a[]=new char[9];
int i,j,k,m;
i=4;j=4;
for(m=0;m<9;m++)
a[m]=' ';
for(m=1;m<=9;m++)
{
if(m<5) { a[i--]='*'; a[j++]='*'; }
else if(m==5) { a[i]='*'; a[j]='*'; }
else { a[i++]=' '; a[j--]=' ';}
for(k=0;k<=8;k++)
System.out.print(a[k]);
System.out.println();
}
}
}为什么这个程序在我的电脑上不能
编译,但是在别人的电脑上又可以编译呢?
public static void main(String[] args) { //默认打印9行
int max = 9; //从命令行获取要打印的行数参数
if(args.length > 0) max = Integer.parseInt(args[0]); //开始打印
for(int i = 1, j, k, l; i <= max; i++) { //当前行要打印的*号个数
k = i <= max / 2 ? 2 * i - 1 : 2 * (max - i + 1) - 1; //当前行要打印的空格个数
j = (max - k) / 2; //打印空格
for(l = 0; l < j; l++)
System.out.print(" "); //打印*号
for(l = 0; l < k; l++)
System.out.print("*"); System.out.println();
}
}
}
如果只输出其中的一部分可以输出来的
就是用Switch调用是不能输出来