こんにちは私は数日間ソリューションに取り組んできましたが、私自身でそれを理解しようとしてきましたが、私はできません。リスト内の要素を比較し、それらをスワップします。 Java
私はArrayListを持っており、その中の要素を交換したいと思います。しかし、私は半分のリストを比較したい。リストに8つの要素がある場合は、リストの前半の最初の要素と後半の最初の要素を比較したいと思います。 リスト[4]で[0]をリストし、4が0より大きい場合は、スワップしてからi = 4になるまで0を1ずつ増やし、リストの半分を1ずつ増やしたい。 コマンドラインから実行します。
import java.util.Arrays;
import java.util.ArrayList;
import java.util.Scanner;
import java.util.Collections;
public class TennisTournament {
public static void main (String [] args) {
Scanner input = new Scanner(System.in);
ArrayList <Integer> nums = new ArrayList<Integer>();
while (input.hasNextInt()) {
nums.add(input.nextInt());
}
tournament(nums); }
public static void tournament(ArrayList <Integer> list) {
int midPoint = list.size()/2; // returns the index number of half of the lists size
for (int i = 0; i < midPoint; i++) { // while is bigger than mid point, increment by one
if (list.get(i) < list.get(midPoint)) {
Collections.swap(list, i, midPoint);
System.out.print(list);
}
}
System.out.println(list); }
}
これは私がこれまで持っているものですが、私はコマンドラインから実行すると、それだけで通常のリストを返し、私は完全に困惑します。私はむしろコレクションメソッドよりもむしろループを使用します。これはプログラミングのスタイルではないので、私は特に慣れ親しんでいます。
JavaにLINqはありますか? –