Алексей Уколов забейте на вывод. Цель алгоритма - разделить один массив на два по двум условиям. Выгоднее сделать один цикл с двумя условиями, чем два и в каждом по условию. Вывод в консоль - это частный случай. В общем случае - результат разделения же где то дальше надо использовать.
Алексей Уколов Если по памяти оптимизировать - то да, два цикла будет лучше. А если по скорости, и массив длинный - то два цикла медленнее. К тому же ситуация с выводом - все же частный случай ;-)
Андрей А куда он в таком случае вам координаты должен вернуть? В рельсу? Какая ОС там? Если никакой и никакие приложения нельзя устанавливать - то вряд ли что то можно сделать.
Qubc Влияет на это мощность. Если у вас слабый приемник, он просто потеряет часть пакетов, и какая нить css разметочная просто не дойдет - и будет хаос. Ну да ладно, меняли значит меняли. Каналы попробуйте еще поменять.
annozzer ну так делайте через while. Заводите индексатор до вайла, потом while i < len, а в теле цикла - прибавляете не единицу к индексу, а сколько вам нужно.
amalchikov обычный отладчик. Который с брейкпоинтами и стектрейсами. А выход - в 28 строке. Смотрите. Вы делаете push. После push значение переменной kloc будет равно 1 (стартовое 0, в пуше увеличиваем на единицу). Далее вы делаете pop. В нем вы пытаетесь вывести из массива ch элемент с индексом kloc, т.е. с индексом 1. Но - в джаве, как и во многих других языках, нумерация элементов начинается с нуля. Соответственно при попытке обратиться к первому элементу вместо нулевого вы получаете ошибку. Количество добавленных элементов на это не влияет.
Еще из логических ошибок - вы никогда не меняете значение переменной nloc - у вас все будет записано в 0 элемент.
Qui-Gon Jinn Ну как вариант - два метода. Первый - вычисляет площадь и заносит во внутреннюю переменную. Второй - выводит в консоль эту переменную. Но ИМХО - не найс так делать. Лучше пусть будет один метод - который возвращает площадь. А уже там, откуда вы вызываете этот метод - запоминаете в переменную результат и выводите в консоль.