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

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

Сообщение Anonymous »

Я работаю над программой Java < /p>

Вот программа:
Рассмотрим программу Java.
он считывает целые числа из стандартного входа (пока он не получит отрицательное число) и
не помещает их в массив.
после этого он вызывает процесс на массиве,
, а затем печатает содержимое массива на стандартном выходе.
В программе любая последовательность двух или более последовательных
нечетных чисел в массиве удаляется из массива и заменяется одним числом, представляющим длину этой последовательности. Функция /метод ProcessArray должна изменить массив на месте (предпочтительно без создания нового массива), и он должен вернуть новую длину модифицированного массива.222
3
35
62
124
61
29
375
66
7
-1
< /code>

Затем программа должна печатать: < /p>

222
2
62
124
3
66
7
< /code>

Обратите внимание, что последовательность 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

Моя логика не работает должным образом помогает улучшить логику < /p>

Подробнее здесь: https://stackoverflow.com/questions/521 ... d-by-count

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