java程序设计课后习题

本人初学者在书上看到这个编程题弄了很久都没做出来希望高人指点下

public class t8 {

public static void main(String[] args) {
//上半部分
    for (int m = 1; m <= 10; m++)
    {
        //输出空格
        for (int n = 9; n >= m ;n--)
        {
            System.out.print(" ");
        }
        //输出* 左上
        for (int n = 1; n <= m; n++)
        {
            System.out.print("*");
        }    

        //右上
        for (int n = 1; n < m; n++)
        {
            System.out.print("*");
        }

        System.out.println();
    }

    //下半部分
    for (int m = 1; m <= 9; m++)
    {
        //输出空格
        for (int n = 1; n <= m ;n++)
        {
            System.out.print(" ");
        }
        //输出* 左下
        for (int n = 9; n >= m; n--)
        {
            System.out.print("*");
        }    

        //右下
        for (int n = 9; n > m; n--)
        {
            System.out.print("*");
        }

        System.out.println();
    }    

}
}

public static void main(String[] args) {
int asc=64;
test(asc, 4);
}
/**
* @param asc :asc码
* @param num :行数
*/
public static void test(int asc,int num){
int temp=0;
//前半部分
for(int row=1;row<=num;row++){
//每行字母前面的空格
for(int i=num-row;i>0;i--){
System.out.print(" ");
}
//输出字母,并标记输出了多少次,用于获取字母
for(int col=0;col temp+=1;
System.out.print((char)(asc+temp)+" ");
}
//换行
System.out.println("");
}
//前半部分倒过来就好
for(int row=1;row for(int i=0;i System.out.print(" ");
}
for(int col=num-row+1;col>0;col--){
temp+=1;
System.out.print((char)(asc+temp)+" ");
}
System.out.println("");
}
}

 public static void main(String[] args) {
        int asc=64;
        test(asc, 4);
    }
    /**
     * @param asc :asc码
     * @param num :行数
     */
    public static void test(int asc,int num){
        int temp=0;
        //前半部分
        for(int row=1;row<=num;row++){
            //每行字母前面的空格
            for(int i=num-row;i>0;i--){
                System.out.print(" ");
            }
            //输出字母,并标记输出了多少次,用于获取字母
            for(int col=0;col<row;col++){
                temp+=1;
                System.out.print((char)(asc+temp)+" ");
            }
            //换行
            System.out.println("");
        }
        //前半部分倒过来就好
        for(int row=1;row<=num;row++){
            for(int i=0;i<row-1;i++){
                System.out.print(" ");
            }
            for(int col=num-row+1;col>0;col--){
                temp+=1;
                System.out.print((char)(asc+temp)+" ");
            }
            System.out.println("");
        }
    }

char temp =64;

    for(int i =1;i<=8;i++) {
        if(i<=4) {          
            for(int j=4;j>i;j--) {
                System.out.print(" ");
            }

            for(int j=1;j<=i;j++) {
                System.out.print(temp+=1);
                System.out.print(" ");
            }       

        } else {

        }

        System.out.println();
    }


    上半部分帮你写出来了,下半部分你自己想想就行。

看到各位都那么完整 我也把全部代码贴上来吧。



public static void main(String[] args) {    
        test();
    }

    public static void test() {

        char temp =64;

        for(int i =1;i<=8;i++) {
            if(i<=4) {          
                for(int j=4;j>i;j--) {
                    System.out.print(" ");
                }

                for(int j=1;j<=i;j++) {
                    System.out.print(temp+=1);
                    System.out.print(" ");
                }       

            } else {

                for(int j=5;j<i;j++) {
                    System.out.print(" ");
                }

                for(int j=i;j<=8;j++) {
                    System.out.print(temp+=1);
                    System.out.print(" ");
                }

            }

            System.out.println();
        }
    }