gpt4 book ai didi

java - 如何打印不属于连续四个值序列的 ArrayList 的最后一个值?

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

我是 Java 初学者。我想知道如何为这个反向 arrayList 打印最后几个值,因为它们不是连续的 4 序列的一部分。我在考虑使用 if (numbers.size()%4==0) 但我不知道在哪里正确实现它。


    import java.util.*;
public class printArray {

public static void main(String[] args) {
ArrayList <Integer> numbers= new ArrayList<>();
numbers.add(10);
numbers.add(13);
numbers.add(2);
numbers.add(8);
numbers.add(7);
numbers.add(90);
numbers.add(-1);
numbers.add(2);
numbers.add(4);
numbers.add(5);




System.out.println(numbers);

System.out.println(reverse4(numbers));

}
public static ArrayList<Integer> reverse4 (ArrayList<Integer> numbers){
ArrayList< Integer> reverseSet= new ArrayList<>();
for (int i = 0; i < numbers.size(); i += 4) {//goes from 0 to 4, 4 to 8 and keeps incrementing by 4
for (int k = i + 3; k >= i ; k--)// reverse order, executes 4 times before going to the outer loop
reverseSet.add(numbers.get(k));


}

return reverseSet;

}
}

最佳答案

你可以检查是否k在范围内

if (k < numbers.size())

在执行 reverseSet.add() 之前.

编辑:抱歉,误解了你的意思。你想反转任何完整的四个集合,但不是最后的任何部分集合,这听起来像是。

所以,数数:

position |   1      2      3      4   |  5      6      7
---------+----------------------------+--------------------
count | size-7 size-6 size-5 size-4|size-3 size-2 size-1
last
one

position | 1 2 3 4 | 5 6
---------+----------------------------+--------------------
count | size-6 size-5 size-4 size-3|size-2 size-1
last
one

position | 1 2 3 4 | 5
---------+----------------------------+--------------------
count | size-5 size-4 size-3 size-2|size-1
last
one

position | 1 2 3 4 |
---------+----------------------------+--------------------
count | size-4 size-3 size-2 size-1|
last
one

看起来像是i的最后一个有效值应该总是小于数组的大小减去三(除非 ArrayList 太短,但你需要不同的代码——我之前的答案应该在那里工作)。因此,代替我上面所说的,替换 i < numbers.size() i < numbers.size() - 3 .

关于java - 如何打印不属于连续四个值序列的 ArrayList 的最后一个值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42662090/

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