Работа со списком, поиск середины списка, замена элeментов

Написав программу для работы со списком.
Нужно определить середину списка. И также заменить значение одного элемента на значение другого элемента.

import java.util.*;
public class First {
    public static void main(String[] args) {
        List < String > listStrings = new ArrayList < String > ();
        listStrings.add("One");
        listStrings.add("Two");
        listStrings.add("Three");
        listStrings.add("Four");
    }
    System.out.println(listStrings);
}

Для поиска середины списка пыталась просто разделить длину списка на 2 через length, но постоянно выбивает ошибка.

нужно код видеть полностью да и какая именно ошибка появляется тоже желательно знать.

listStrings.get((listStrings.size() - 1) / 2)

В чем проблема-то?

1 лайк