gpt4 book ai didi

java - 在 ArrayList 的特定位置执行每个整数数组

转载 作者:行者123 更新时间:2023-11-29 04:56:04 25 4
gpt4 key购买 nike

我有一个ArrayList:

ArrayList<Integer> list = new ArrayList<>();

还有一个 Array 的整数:

int[] x = {5, 10, 15, 20, 25};

我想在 ArrayList 的特定位置执行整数的每个 Array。我已经尝试了以下代码,但它没有按预期工作!

public static void main(String[] args) {
// TODO code application logic here
for(int i = 1; i <= 30; i++) {
list.add(i);
}

for(int i = 0; i < list.size(); i++) {
System.out.print(i);
System.out.print(" , ");
System.out.print(number(i));
}
}


private static long number(int pos) {
int y = 0;
return (long) pos / list.get(x[y]);
}

当前输出:

0 , 0
1 , 0
2 , 0
3 , 0
4 , 0
5 , 0
6 , 1
7 , 1
8 , 1
9 , 1
10 , 1
11 , 1
12 , 2
.
.
.

预期输出(类似的东西):

0 , 0
1 , 0
2 , 0
3 , 0
4 , 0
5 , 5
6 , 5
7 , 5
8 , 5
9 , 5
10 , 10
11 , 10
12 , 10
.
.
.

我尝试了不同的方法但无法解决它,非常感谢任何帮助。

最佳答案

我的回答就像您想遵循预期答案中的模式一样,首先,当您说 list.get(x[y]) 时,它会为您提供 list.get (5) 这是 6 因为你在填写列表时从 1 而不是 0 开始计数,所以你更喜欢执行以下两个选项之一:

1- 从 0 开始计数:

for(int i = 0; i < list.size(); i++) {
.
.
}

2- 用 x[y]-1 让你的 get 行:

list.get(x[y] - 1);

在这两种情况下,当你想得到结果时,你必须将它乘以列表索引的值,即 x[y]:

private static long number(int pos) { 
int y = 0;
return Math.round(pos / list.get(x[y]) * x[y]);
}

关于java - 在 ArrayList 的特定位置执行每个整数数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33720007/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com