Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/389.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何使用数组绘制X?_Java - Fatal编程技术网

Java 如何使用数组绘制X?

Java 如何使用数组绘制X?,java,Java,有人知道如何从给定的数字打印X吗? e、 g: 给定数字5。 所以,我应该打印 X000X 0X0X0 00X00 0X0X0 X000X 这是我的代码,仍然缺少一些东西 public static void drawX(int number){ int[][] draw = new int[number][number]; for(int i = 0; i< number; i++){ for(int k = 0; k<=i; k++){

有人知道如何从给定的数字打印X吗? e、 g:

给定数字5。 所以,我应该打印

 X000X
 0X0X0
 00X00
 0X0X0
 X000X
这是我的代码,仍然缺少一些东西

public static void drawX(int number){
    int[][] draw = new int[number][number];
    for(int i = 0; i< number; i++){
        for(int k = 0; k<=i; k++){
            System.out.print(" ");
        }
        for(int j = number-1; j>i; j--){
            if(j == number-1 || j == i+1)
                System.out.print("X ");
            else
                System.out.print("  ");
        }
        System.out.println();
    }
    for(int i = 0; i< number; i++){
        for(int v = number; v>i; v--){
            System.out.print(" ");
        }
        for(int j = 0; j<i; j++){
            System.out.print("X ");
        }
        System.out.println();
    }
 }
publicstaticvoiddrawx(整数){
int[][]draw=新int[number][number];
for(int i=0;ii;v--){
系统输出打印(“”);
}

对于(int j=0;j请参见下面对代码的评论,突出我注意到的一些问题。它可能不会立即解决所有问题,但它将推动您朝着我希望的正确方向前进

public static void drawX(int number){
    // draw is never used.
    int[][] draw = new int[number][number];
    for(int i = 0; i< number; i++){
        for(int k = 0; k<=i; k++){
            // Here we print a " " even for k == i.
            // Are you sure you want k <= i ?
            // If you change it, dont forget to also change
            // stop clause in next loop.
            System.out.print(" ");
        }
        for(int j = number-1; j>i; j--){
            if(j == number-1 || j == i+1)
                // j == number -1 prints X only in the last column
                // Maybe you wanted number - i - 1?
                // j == i+1 means you "skip" the ith element.
                // Why the extra space after X?
                System.out.print("X ");
            else
                // Why two spaces here?
                System.out.print("  ");
        }
        System.out.println();
    }
    for(int i = 0; i< number; i++){
        for(int v = number; v>i; v--){
            System.out.print(" ");
        }
        for(int j = 0; j<i; j++){
            // here you need to do very similar logic to 
            // what you did in previous loop, when printing first
            // 'number' lines.
            System.out.print("X ");
        }
        System.out.println();
    }
 }
publicstaticvoiddrawx(整数){
//画画从来不用。
int[][]draw=新int[number][number];
for(int i=0;i对于(int j=0;jj您尝试了什么?您熟悉二维数组和循环吗?另外,发布您的代码。我尝试了使用for循环进行迭代,但结果仍然错误,请添加该代码。然后我们可以告诉您iin中的错误it@user8352237这是一个很好的开始。向我们展示这段代码,您可能会有一个小问题,或者完全误解了某些内容如果我们帮助您更正答案,而不是提供新答案,您将从错误中吸取更多教训。