ste*_*eOS 5 java loops for-loop compare arraylist
List<Integer> listOne= new ArrayList<>();
listOne.add(10);
listOne.add(2);
listOne.add(3);
//Second Array
List<Integer> listTwo= new ArrayList<>();
listTwo.add(3);
listTwo.add(7);
listTwo.add(1);
Run Code Online (Sandbox Code Playgroud)
我想比较两个 List 并指出listOne
或listTwo
取决于哪个值更大
[10, 2, 3] compare to [3, 7, 1]
if listOne.get(0) > listTwo.get(0) //add one point to listOne
if listOne.get(0) < listTwo.get(0) //add one point to listTwo
Run Code Online (Sandbox Code Playgroud)
这是我测试过的代码
static List<Integer> compareList(List<Integer> a, List<Integer> b) {
ArrayList<Integer> output = new ArrayList<>();
output.add(0, 0);
output.add(1, 0);
int out = output.get(0);
int out2 = output.get(1);
for (int i = 0; i < a.size(); i++) {
if (a.get(i) > b.get(i)) {
out = out + 1;
}
if (a.get(i) < b.get(i)) {
out2 = out2 + 1;
}
}
output.add(0, out);
output.add(1, out2);
return output;
}
Run Code Online (Sandbox Code Playgroud)
它有效,但没有输出预期的答案
预期输出:2 1 输出:2 1 0 0
0
您要向 中添加两个s,然后除了 s 之外,还要List
在 的开头添加两个数字。List
0
删除这些语句:
output.add(0, 0);
output.add(1, 0);
Run Code Online (Sandbox Code Playgroud)
并保持这些声明不变:
output.add(0, out);
output.add(1, out2);
Run Code Online (Sandbox Code Playgroud)
或者只是更改这些语句:
output.add(0, out);
output.add(1, out2);
Run Code Online (Sandbox Code Playgroud)
到:
output.set(0, out);
output.set(1, out2);
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
613 次 |
最近记录: |