Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/370.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 数组在显示结果时是否跳过空位置?_Java_Arrays_Multidimensional Array - Fatal编程技术网

Java 数组在显示结果时是否跳过空位置?

Java 数组在显示结果时是否跳过空位置?,java,arrays,multidimensional-array,Java,Arrays,Multidimensional Array,我试着创造弗洛伊德的三角形,看起来像这样 1 2 3 4 5 6 7 8 9 10 if( i<=j ){ System.out.print(value+" "); value++; } 但在练习时,我输入错误,并使用此代码创建了一个不同类型的三角形 class Main { public static void main(String[] args) { int value=1;

我试着创造弗洛伊德的三角形,看起来像这样

1
2 3
4 5 6
7 8 9 10
      if( i<=j ){
          System.out.print(value+" ");
          value++;
      }
但在练习时,我输入错误,并使用此代码创建了一个不同类型的三角形

class Main {
    public static void main(String[] args) {
        int value=1;
        int[][] arr = new int[4][4];
        for(int i=0;i<4;i++){
            for(int j=0;j<4;j++) {

                if( i<=j ){
                    System.out.print(value+" ");
                    value++;
                }
            }System.out.println();
        }

    }
}
      if( i<=j ){
          System.out.print(value+" ");
          value++;
      }
现在我的问题是,在阅读有关数组的内容时,我读到特定位置的特定值会被打印出来

      if( i<=j ){
          System.out.print(value+" ");
          value++;
      }
如果这是真的,那么这个代码的输出应该是

[1][2][3][4]
[x][5][6][7]
[x][x][8][9]
[x][x][x][10]
      if( i<=j ){
          System.out.print(value+" ");
          value++;
      }
数组在显示结果时是否跳过这些空字段?
请帮助理解这一点

否,数组不会跳过这些值

      if( i<=j ){
          System.out.print(value+" ");
          value++;
      }
跳过它们是因为您编写了代码以这种条件的形式跳过它们:

      if( i<=j ){
          System.out.print(value+" ");
          value++;
      }

如果(i恐怕情况有误,应该是相反的:

      if( i<=j ){
          System.out.print(value+" ");
          value++;
      }
            if( j <= i ){
                System.out.print(value+" ");
                value++;
            }

if(j它会将0打印为0,因为当数组初始化时,所有值都设置为零,如果您打印,它们会这样打印。下面是一个链接

      if( i<=j ){
          System.out.print(value+" ");
          value++;
      }

不,正如@另一个人所说的,是if条件跳过了。
      if( i<=j ){
          System.out.print(value+" ");
          value++;
      }
试试这个程序-

      if( i<=j ){
          System.out.print(value+" ");
          value++;
      }
public class MyClass {

    public static void main(String args[]) {
        int value=1;
        int[][] arr = new int[4][4];
        for(int i=0;i<4;i++){
            for(int j=0;j<4;j++) {

                if( i<=j ){
                    System.out.print(value+" ");
                    System.out.print("\t");
                    value++;
                } else {
                    System.out.print(0);
                    System.out.print("\t");
                }
            }System.out.println();
        }

    }
}
公共类MyClass{
公共静态void main(字符串参数[]){
int值=1;
int[]arr=新int[4][4];

对于(int i=0;i1)。您的代码不使用数组2。没有空字段,因为文本总是从左到右打印。终端不知道您正在数组上循环,无法尝试对齐文本,它只能显示您在print/println语句中输入的内容