вот программа. Вопрос:
Рассмотрим Java-программу.
Он считывает целые числа из стандартного ввода (пока не получит отрицательное число) и
помещает их в массив.
После этого он вызывает метод ProcessArray для массива,
а затем выводит содержимое массива на стандартный вывод.
В программе любая последовательность из двух или более последовательных
нечетных чисел в массиве удаляется из массива и заменяется одним числом, представляющим длину этой последовательности. Функция/методprocessArray должна изменять массив на месте (желательно без создания нового массива) и возвращать новую длину измененного массива.
Например, если эти числа были предоставлены на стандартном вводе:
Код: Выделить всё
222
3
35
62
124
61
29
375
66
7
-1
Код: Выделить всё
222
2
62
124
3
66
7
вот мой код:
Код: Выделить всё
import java.util.*;
import java.io.*;
public class Main {
public static int processArray(ArrayList array) {
ListIteratoriterator=array.listIterator();
while (iterator.hasNext()) {
Integer integer = (Integer) iterator.next();
int count=0;
if (integer%2!=0) {
count=count++;
iterator.remove();
continue;
}
if(integer==-1)
break;
else
iterator.previous();
iterator.add(count);
iterator.next();
}
return array.size();
}
public static void main (String[] args) {
ArrayList arrayList = new ArrayList();
Scanner in = new Scanner(System.in);
while(in.hasNextInt()) {
int num = in.nextInt();
if (num < 0)
break;
arrayList.add(new Integer(num));
}
int new_length = processArray(arrayList);
for(int i=0; i