【问题标题】:array called from main从 main 调用的数组
【发布时间】:2014-09-10 20:49:50
【问题描述】:

我有以下代码,我想在 main 方法中调用 printArray 以便它可以打印。我不断收到以下错误:

找不到符号 int[] arrays = new int[randomNumbers];

public static void main(String[] args) {
    Scanner input = new Scanner(System.in);

    System.out.print("How many random ints?");
    int randomNumbers = input.nextInt();

    System.out.print("What is the lower bound?");
    int lower = input.nextInt();

    System.out.print("What is the upper bound?");
    int upper = input.nextInt();

    int range = (upper - lower) + 1;
    printArray(); //not working
}

public static void printArray(int[] array) {
    int[] arrays = new int[randomNumbers];

    for (int t = 0; t < array.length; t++) {
        System.out.print("arr[" + t + "] :" + array[t]);
    }

    System.out.println();
}

非常感谢任何帮助。

【问题讨论】:

  • 你在main中声明了randomNumbers,所以printArray看不到它
  • PrintArray 需要一个 int[] 类型的参数,但没有给出它。数组也永远不会被填充,只是被创建。

标签: java arrays call


【解决方案1】:

如果我理解您的问题,请在printArray() 中注释掉您的第一个声明

public static void printArray(int[] array) {
  // int[] arrays = new int[randomNumbers];
  for (int t = 0; t < array.length; t++) {
    System.out.print("arr[" + t + "] :" + array[t]);
  }
  System.out.println();
}

但是,您可能应该使用Arrays.toString(int[])

System.out.println(Arrays.toString(array));

另外,在main() 中,您需要将int[] 传递给 printArray(),

Random rand = new Random();
int[] array = new int[randomNumbers];
for (int i = 0; i < array.length; i++) {
  array[i] = lower + rand.nextInt(range);
}
printArray(array);

【讨论】:

  • 非常感谢!这让我更清楚了。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-02-09
  • 2013-01-12
  • 1970-01-01
  • 2013-06-23
  • 2018-05-01
  • 2013-05-28
相关资源
最近更新 更多