java输出星号如图 * *** ***** ******* *******

java输出星号如图
*
***
*****
*******
*********

    public static void main(String[] args) {
        int[][] snow = new int[5][];
        for(int i = 0; i < snow.length; i++)
            snow[i] = new int[i*2+1];
        for(int i = 0; i < snow.length; i++) {
            for(int j = 0; j < snow[i].length; j++) {
                snow[i][j] = '*';
            }
        }
        int n = 1;
        for(int i = 0; i < snow.length; i++) {
            for(int k = 0; k < snow.length - n; k++) {
                System.out.print(" ");
            }
            for(int j = 0; j < snow[i].length; j++)
                System.out.print((char)snow[i][j]);
            System.out.println();
            ++n;
        }
    }

 应该很标准了吧...

温馨提示:内容为网友见解,仅供参考
第1个回答  2013-10-30
public class PrintStar {
public static void main(String[] args) {
int[][] snow=new int[5][];
for(int i=0;i<5;i++){
snow[i]=new int[i*2+1];
}
for(int i=0;i<snow.length;i++){
for(int j=0;j<snow[i].length;j++){
snow[i][j]='*';
}
}
int n=1;
for(int i=0;i<snow.length;i++){
for(int k=0;k<4-i;k++){
System.out.print(" ");
}
for(int j=0;j<snow[i].length;j++){
System.out.print((char)snow[i][j]);
}
System.out.println();
n++;//没意义的,填什么都行
}
}
}

/*
题目的意思应该是这样,但是这种写法难理解而且复杂,如果只是实现打印那个等腰三角星,
题目出的真心坑,int转char来打印字符串,出题人可能是学C语言出身的~
只能当题目做,最好不要效仿。
*/

第2个回答  2013-10-30
这个里面是打印什么图案? 打印像你说的星号的话,这样就可以了
int rows=0; //三角形的行数
System.out.print("请输入等腰三角形的行数:");
Scanner input=new Scanner(System.in);
rows=input.nextInt();
for(int i=1; i<=rows; i++){
for(int j=1; j<=rows-i; j++){
System.out.print(" ");
}
for(int k=1; k<=2*i-1; k++){
System.out.print("*");
}
System.out.print("\n");
}
相似回答