私はJavaの初心者です。私は、このreverse arrayListの値の最後の2つをどのように出力するのだろうかと疑問に思っていました。なぜなら、それは4の連続シーケンスの一部ではないからです。(numbers.size()%4==0)
を使用することを考えていましたが、4つの値の連続したシーケンスの一部ではないArrayListの最後の値を出力するにはどうすればよいですか?
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;
}
}
'reverseSet'の最後の要素はいくつまで印刷しますか? –
そうですが、最後の値を変更しないで印刷したいと思います。たとえば、値が1 2 3 4 5 6 7の配列を持つ場合、最初の4つの連続する値は4 3 2 1になり、残りは変更されずに出力されます。したがって、最後に次のようになります。4 3 2 1 5 6 7 –
arrayListのサイズによって異なります。 23個の要素がある場合、4のシーケンスの倍数も一部でもないので、3は変わらないでしょう。 –