在使用之前初始化int []的任何其他方法

时间:2015-11-30 10:35:50

标签: java arrays

任何人都可以告诉我为什么只有方法才能起作用,而不是其他人。

此外,如果我想在运行时制作数组大小,我仍然可以制作它。

public class RevesingSimpleArray {

    public static void main(String[] args) {
        int[] arr = { 1, 2, 3, 4, 5 };
        // 1 way will work
        int[] arr2 = { 0, 0, 0, 0, 0 };
        // 2 way not work
        // int[] arr2 = {};
        // 3 way not work
        // int[] arr2 = null;

        for (int i = 0; i < arr.length; i++) {
            System.out.println(arr[i]);
            arr2[arr.length - (i + 1)] = arr[i];
        }
        System.out.println(" leangth " + arr.length);

        System.out.println("Printing into reverse form --");
        for (int j = 0; j < arr2.length; j++) {
            System.out.println(arr2[j]);
        }
    }
}

我是java的新手并尝试理解一些基础知识。 谢谢你的帮助。

2 个答案:

答案 0 :(得分:1)

您可以在运行时创建数组:

int size = 5;
int[] array = new int[size];

答案 1 :(得分:1)

_v

您需要在通过索引

访问数组之前初始化数组
//  int[] arr2 = {}; // actually it gives `ArrayIndexOutOfBoundsException`

Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException:

您需要在访问数组之前初始化数组

  

任何人都可以告诉我为什么只有方法才能起作用,而不是其他人。

以下几种方法。

//  int[] arr2 = null; // actually it gives `NullPointerException`
Exception in thread "main" java.lang.NullPointerException
  

另外,如果我想在运行时制作数组大小,我能否做到   反正。

是这样的事情,获得​​大小并在初始化时分配。

int[] myIntArray = new int[3];
int[] myIntArray = {1,2,3};
int[] myIntArray = new int[]{1,2,3};