Здравствуйте.
Первый раз такое вылетело при проверке решения задачи - "программа работала слишком долго и была закрыта":
в самой intellij IDE валидацию проходит и выдаёт нужный результат (проверял с кучей комбинаций слов). Создал доп строки для проверки - всё считывается корректно.
Я так понял где-то в коде проблема, но где? Всю голову сломал...
Проблема скорее всего в этом участке:
for (int i = 0; i < 10; i++) {
if (numbers.get(0) >= numbers.get(1)){System.out.println(cellNumber.get(0)); return;}
// System.out.println("i = "+i); // проверка значений
if (numbers.get(i+1)-1 != numbers.get(i)) {System.out.println(cellNumber.get(i+1)); return;}
// System.out.println(i); // проверка значений
}
я по другому не придумал как решить задачу проверки возрастания чисел. Опирался на пройденный материал (возможно упустил что-то, т.к. был перерыв в обучении), но, повторюсь, в intellij IDE валидация проходит и выдаёт нужный результат.
Буду крайне признателен за помощь.package com.javarush.task.task07.task0718;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.ArrayList;
/*
Проверка на упорядоченность
*/
public class Solution {
public static void main(String[] args) throws IOException {
//напишите тут ваш код
/* // для проверки
ArrayList <String> list = new ArrayList<String>(){
{
// add("1"); add("22"); add("333"); add("44444"); add("5555");
add("дедушк"); add("бабушка"); add("бабушкаа"); add("мама"); add("сын");
add("дочь"); add("коты"); add("собака"); add("программа"); add("машина");
}
};*/
BufferedReader red = new BufferedReader(new InputStreamReader(System.in));
ArrayList <String> list = new ArrayList<String>();
for (int i = 0; i < 10; i++) {
list.add(red.readLine());
}
ArrayList <Integer> numbers = new ArrayList<Integer>(); // создал массив для хранения длины объектов массива list
for (String listSize: list) { // заполнил массив numbers значениями согласно длины объектов массива list
numbers.add(listSize.length());
}
ArrayList <Integer> cellNumber = new ArrayList<Integer>(); // массив для хранения чисел от 0 до последней ячейки массва numbers
for (int i = 0; i < numbers.size(); i++) { // заполнил массив cellNumber значениями
cellNumber.add(i);
}
for (int i = 0; i < 10; i++) {
if (numbers.get(0) >= numbers.get(1)){System.out.println(cellNumber.get(0)); break;}
// System.out.println("i = "+i); // проверка значений
if (numbers.get(i+1)-1 != numbers.get(i)) {System.out.println(cellNumber.get(i+1)); break;}
// System.out.println(i); // проверка значений
}
}
}