【问题标题】:Arrays inside Arrays [closed]数组中的数组[关闭]
【发布时间】:2014-01-06 03:30:31
【问题描述】:

我正在做这个作业,它希望我将成绩(用户输入的整数)存储到名为 levelOne、levelTwo、levelThree、levelFour 的数组中。它还要求我根据输入成绩(例如平均成绩和中位数成绩)进行计算。我没有找到每个数组的平均值,而是尝试将所有数据存储到“父”数组中(应该存储其他数组),这样我就可以在一次计算中完成所有这些。这是可能的,如果是这样,我该怎么做?

这就是我的“子”数组的样子:

  List<Integer> levelFour = new ArrayList();
  List<Integer> levelThree = new ArrayList();
  List<Integer> levelTwo = new ArrayList();
  List<Integer> levelOne = new ArrayList();
  List<Integer> levelR = new ArrayList();

【问题讨论】:

  • 欢迎来到Stack Overflow。你是怎么计算这个的?您在实际实施或只是概念方面有任何问题吗?
  • 你认为它应该如何工作?我们看不到您的代码或您的想法。
  • 你总是可以有一个数组数组。但我认为这对你的计算没有帮助。但还要注意,您可以将数组作为参数传递给子例程,并让该子例程计算平均值。然后可以将一个子例程用于您的任何“级别”数组。

标签: java arrays sorting arraylist


【解决方案1】:

试试这个:

List<List<Integer>> arr = new ArrayList();
arr.add(new ArrayList<Integer>());
...

添加整数,例如

arr.get(0).add(4);

并且,迭代元素

for (List<Integer> l : arr) {
    for (Integer i : l) {
        ...
    }
}

【讨论】:

  • 我认为这对 OP 没有多大作用。 (尽管这或多或少是他所要求的。)
【解决方案2】:

如果您的作业提到数组并且您的课程专门使用 Java,那么 List 及其实现 ArrayList 可能不是您想要的。

int 数组的数组 声明如下:

int[][] arrays = new int[NUMBER_OF_ARRAYS][SIZE_OF_EACH_ARRAY];

因为int 是一个基本类型,它有一个默认值(0),它不同于 null(基本类型不能为 null)。

用于迭代使用:

for(int[] array: arrays){
    for(int i: array){
        //do something
    }
} 

或更经典和详细(和可定制):

int current = -1;
for(int i =0; i < NUMBER_OF_ARRAYS; i++){
     for(int j =0; j < SIZE_OF_EACH_ARRAY; j++){
         current = arrays[i][j];
         //do something
     }
}

【讨论】:

    猜你喜欢
    • 2020-10-15
    • 1970-01-01
    • 2023-01-27
    • 2017-10-02
    • 1970-01-01
    • 2014-01-13
    • 2018-05-11
    • 1970-01-01
    • 2018-02-03
    相关资源
    最近更新 更多