【问题标题】:Creating a specific pattern for list of integers为整数列表创建特定模式
【发布时间】:2020-07-16 07:21:40
【问题描述】:
int[] box = new int[9*8];
for(int i=0; i<9; i++) {
    for(int j=0; j<8; j++) {
        box[j] = i;
    }
}

我已经尝试了所有方法,但结果比我想象的要难。不使用 ArrayLists(我知道使用 box.add(i) 可以工作)我只能使用 int[] 类型。我需要创建一个看起来像这样[0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,..8,8,8,8,8,8,8,8] 的整数列表,所以有 8 组从 0 到 8 的整数。谁能帮我?

【问题讨论】:

  • 下面答案中的公式i * 8 + jcolumn * rowsize + row 是实现此类结构时要记住的重要公式。内存本身基本上是一个一维数组,编译器必须使用类似的公式来“欺骗”你看到一个二维(或更高)维数组。

标签: java list for-loop integer


【解决方案1】:

我认为问题出在第 4 行。代码将位置设置为一个值,但该位置从 0 到 7 重复。

这应该会更好:

int[] box = new int[9*8];
for(int i = 0; i < 9; i++) {
    for(int j = 0; j < 8; j++) {
        box[i * 8 + j] = i;
    }
}

基本上,它会将 0 - 7 移动到每个新数字的 8 个位置。

【讨论】:

    猜你喜欢
    • 2016-04-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-09-24
    • 2012-08-10
    • 2022-11-03
    相关资源
    最近更新 更多