Последовательность нечетных чисел заменена счетомJAVA

Программисты JAVA общаются здесь
Anonymous
Последовательность нечетных чисел заменена счетом

Сообщение Anonymous »

Я работаю над Java-программой

вот программа. Вопрос:
Рассмотрим Java-программу.
Он считывает целые числа из стандартного ввода (пока не получит отрицательное число) и
помещает их в массив.
После этого он вызывает метод ProcessArray для массива,
а затем выводит содержимое массива на стандартный вывод.
В программе любая последовательность из двух или более последовательных
нечетных чисел в массиве удаляется из массива и заменяется одним числом, представляющим длину этой последовательности. Функция/методprocessArray должна изменять массив на месте (желательно без создания нового массива) и возвращать новую длину измененного массива.

Например, если эти числа были предоставлены на стандартном вводе:

Код: Выделить всё

222
3
35
62
124
61
29
375
66
7
-1
Тогда программа должна напечатать:

Код: Выделить всё

222
2
62
124
3
66
7
Обратите внимание, что последовательность 3, 35 заменена на 2, а последовательность 61, 29, 375 заменена на 3.

вот мой код:

Код: Выделить всё

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

Вернуться в «JAVA»