Java Class 什么都不做

Java Class does nothing

我想向控制台打印一个二维双精度数组。

  public class arrayprinter {
   public static void main(String[] args) {
        double[][] multi = new double[][]{
              { 10, 20, 30, 40, 50},
              { 1.1, 2.2, 3.3, 4.4},
              { 1.2, 3.2},
              { 1, 2, 3, 4, 5, 6, 7, 8, 9}
            };
        print(multi);
    }
    private static void print(double[][] e){
        for(int i=0; i>e.length;i++) {
            print(e[i]);
        }
    }
    public static void print(double[] e) {
        for(int i=0; i>e.length;i++) {
            System.out.print(e[i]);     }
    }
  }

当我在 Eclipse 中单击播放按钮时,只有:<terminated>...并且控制台中没有打印数组。有人可以告诉我我做错了什么吗?

你想做

i < e.length

不是“i>e.length”。

您的程序永远不会到达打印的行。您从 i=0 开始并在它大于 e.length 时增加它,但它从来没有,因为循环存在于第一个 运行 (i = 00不大于 e.length 所以它存在循环)
使用这些:

private static void print(double[][] e) {
    for (int i = 0; i < e.length; i++) {
        print(e[i]);
    }
}

public static void print(double[] e) {
    for (int i = 0; i < e.length; i++) {
        System.out.print(e[i]);
    }
}

我在循环中用 < 替换了 >

你比较的 i>e.length 是错误的,应该是 i < e.length,看下面的代码

private static void print(double[][] e){
    for(int i=0; i<e.length;i++) {
        print(e[i]);
    }
}
public static void print(double[] e) {
    for(int i=0; i<e.length;i++) {
        System.out.print(e[i]);     }
}

除了编写两个方法,您还可以使用像

这样的一个衬里
public static void main(String[] args) {
       double[][] multi = new double[][]{
          { 10, 20, 30, 40, 50},
          { 1.1, 2.2, 3.3, 4.4},
          { 1.2, 3.2},
          { 1, 2, 3, 4, 5, 6, 7, 8, 9}
        };
        System.out.println(Arrays.deepToString(multi));
    }