黑马程序员技术交流社区

标题: 有没有进来挑战一下的,看到的一个面试题,输出菱形及其对... [打印本页]

作者: tiandaochouqin    时间: 2015-12-19 23:24
标题: 有没有进来挑战一下的,看到的一个面试题,输出菱形及其对...
本帖最后由 tiandaochouqin 于 2015-12-19 23:32 编辑

看上去这么难,还不如直接画一个??
新手拙作.请有更好思路的指点留言..import java.util.Scanner;
class LingXing {
        public static void main(String[] args) {
                Scanner sc = new Scanner(System.in);
                while (true) {
                        System.out.println("请输入要打印的边长:");
                        int u= sc.nextInt();
                        if (u<=1)  {
                                System.out.println("输入大于1的数值");
                                return;
                        }
                        //定义数组;
                        char[][] a = new char;
                        //给对角线上的元素赋值*
                        for (int i=1; i<u; i++) {
                                for (int j=1; j<u; j++) {
                                        if (i==j||(i+j)==(u-1)) {
                                                a[j] = '*';
                                                }
                                        }
                                }
                        //给四条边赋值*.
                        for (int i=0; i<u; i++) {
                                a[0] =a[0]=a[u-1]=a[u-1]= '*';
                                        }
                                //打印数组
                        for (int i=0; i<a.length; i++) {
                                for (int n=0; n<u-i; n++) {
                                        System.out.print(" ");
                                        }
                                for (int j=0; j<a.length; j++) {
                                                
                                        System.out.print(a[j]+" ");
                                        }
                                System.out.println();
                        }
                                       
                }        
        }
}

有图有真相:



作者: chengz    时间: 2015-12-19 23:31
66哒 逻辑很清晰
作者: 意念痴心灬戒贪    时间: 2015-12-20 00:22
66666666666666666666666
作者: 18338762337    时间: 2015-12-20 16:48
崇拜得很,羡慕
作者: 心语来了    时间: 2015-12-20 17:38
还可以这么玩   崇拜啊..
作者: Endless_paradox    时间: 2015-12-20 18:01
崇拜加学习
作者: 我有一个邮箱了    时间: 2015-12-20 22:12
666666666666666666
作者: birdy    时间: 2015-12-20 22:14
好难看懂啊......
作者: Java1211张美红    时间: 2015-12-20 22:55
一下子没有分析出菱形!
作者: 499087476    时间: 2015-12-21 20:51
thanks for sharing so important infotmation!
作者: and2long    时间: 2015-12-21 21:02
66666666666666
作者: 爱hao者    时间: 2015-12-21 22:03
弄出来了,不过你这代码丢了不少[i]呀
import java.util.Scanner;

class LingXing {
        public static void main(String[] args) {
            Scanner sc = new Scanner(System.in);
            while (true) {
                    System.out.println("请输入要打印的边长:");
                    int u= sc.nextInt();
                    if (u<=1)  {
                            System.out.println("输入大于1的数值");
                            return;
                    }
                    //定义数组;
                    char[][] a = new char[u][u];
                    //给对角线上的元素赋值*
                    for (int i=1; i<u; i++) {
                            for (int j=1; j<u; j++) {
                                    if (i==j||(i+j)==(u-1)) {
                                            a[i][j] = '*';
                                            }
                                    }
                            }
                    //给四条边赋值*.
                    for (int i=0; i<u; i++) {
                            a[0][i] =a[i][0]=a[u-1][i]=a[i][u-1]= '*';
                                    }
                            //打印数组
                    for (int i=0; i<a.length; i++) {
                            for (int n=0; n<u-i; n++) {
                                    System.out.print(" ");
                                    }
                            for (int j=0; j<a.length; j++) {
                                            
                                    System.out.print(a[i][j]+" ");
                                    }
                            System.out.println();
                    }
                                    
            }        
    }
}




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2