- Соственно создать файл целых чисел. Сгенерить строку из N чисел и записать в файл думаю не сложно.
- Считать содержимое файла в строку.
- Разбить на составляющие и записать их в массив. Реализаций может быть несколько. Если нет специальной функции, то пройтись циклом по строке и когда попадутся разделители (ну чаще всего это запятая с пробелом ", "), добавить то, что между ними, в массив.
- Перебрать циклом полученный массив.
- Записать в все четные положительные числа в один массив, четные отрицательные во второй, нечетные положительные - в третий и нечетные отрицательные в четвертый.
- Создать строку из всех элементов массивов: сначала 0-ые элементы - первого и второго (или второго и первого, если количество элементов у 2-го на 1 больше), потом 1-ые элементы, 2-е, ..., N-ые этих массивов. После этого 0-е элементы 3-го и 4-го массивов (или 4-го и третьего, если количество элементов у 4-го на 1 больше), потом 1-ые их элементы, 2-е, ... N-ые.
На 6-м этапе мы видим, что количество элементов всех 4-х массивов для простоты желательно сделать одинаковым (ну или посчитать все возможные зависимости при которых не будет нарушаться порядок следования:
а).четное положительное, четное отрицательное, ..., четное положительное, четное отрицательное, нечетное положительное, нечетное отрицательное, ...
(+2, -2, ... ,+2, -2, +1, -1, ...)
б).четное положительное, четное отрицательное, ..., четное положительное, нечетное отрицательное, нечетное положительное, ...
(+2, -2, ... ,+2, -1, +1, ...)
в).(-2, +2, ... ,+2, -2, +1, -1, ...)
г).(-2, +2, ... ,-2, +1, -1, ...)
Получаем.
- Количество четных отрицительных может отличаться от количества четных положительных на 1. Также и количество нечетных отрицательных может быть на одно больше или меньше, чем нечетных положительных.
- Если четных положительных на одно больше чем четных отрицательных, то нечетных отрицательных и положительных должно быть либо поровну, либо отрицательных на одно больше. И наоборот, если четных отрицательных на одно больше чем четных положительных, то нечетных отрицательных и положительных должно быть либо поровну, либо положительных на одно больше.
). Поэтому в п.1. при заполнении файла это нужно учесть - сгенерировать то количество, которое нужно четных положительных, четных отрицательных, нечетных положительных и нечетных отрицательных, и предварительно перемешав их, записать в файл.
Это, как можно догадаться, алгоритм - правила написания на Java гугл расскажет. ))