не понимаю почему метод printListValues(List<Number> list) работает не корректно первый цикл i=1 хотя должен быть равен 0 и выводится один результат хотя их в списке 2ва он выводит последний результат
for (int i = 0; i < list.size(); i++) {
i = 0;
System.out.println(list.get(i));
}
даже пытался так все ровно i = 1 в первом цикле
большая просьба Денис 32 уровня не отвечать на вопрос (лучше остаться без ответа)
Kartoev
29 уровень
i = 1 в цикле почему??
Обсуждается
Комментарии (16)
- популярные
- новые
- старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
Иван Украинец
8 июля 2025, 13:46
Видимо в отладчике выставлен "Evaluate Expression" и i присвоено значение 1. Либо что-то типа того... Воспроизвести получилось. Только это не ошибка в коде, а настройка отладчика.
0
Kartoev
2 июля 2025, 13:43
ммм в отладчеке понапрописывал фигни вот у меня и цикл начинался с единицы спасибо за внимание
0
hidden #3303140
2 июля 2025, 13:49
i++ в evaluation изменяет значение i.
0
Kartoev
2 июля 2025, 13:18

0
Kartoev
2 июля 2025, 13:14

0
Kartoev
2 июля 2025, 13:14

0
Kartoev
2 июля 2025, 13:14

0
Kartoev
2 июля 2025, 13:14

0
Kartoev
2 июля 2025, 10:57
я говорю про метод printListValues(List<Number> list)
именно его прошу продебаж
0
hidden #3303140
2 июля 2025, 12:37
Да ты можешь объяснить, чего ты пытаешься добиться или нет? нет в твоём методе print ничего необычного - просто цикл, который перебирает все индексы списка list. Сначала i = 0, потом i = 1, потом цикл прервётся, потому что size = 2.
![]()

0
Kartoev
1 июля 2025, 20:57
ццц
private static void printListValues(List<Number> list) { for (int i = 0; i < list.size(); i++) {
System.out.println(list.get(i));
}
}
цикл начинается с i = 1 и выходит
то что я прописал i = 0 он все ровно выдает i = 1 ))
0
hidden #3303140
2 июля 2025, 08:51
Это не так, почему ты так решил?
0
Kartoev
2 июля 2025, 09:35
тк продебаж код!!!! я понимаю что это так выглядит что i = 0 , но нет ))
просто коперни вставь код
0
hidden #3303140
2 июля 2025, 09:52
Смени тон, поменьше экспрессии. Код, который ты привёл в комментарии ниже, выводит 4 строки:
Первые две из них - это содержимое списка: 1000 - это list.get(0), 30 - это list.get(1). На этом список заканчивается, потому что там всего два значения.
Поэтому либо ты не можешь объяснить, что ты имеешь в виду, либо у тебя исполняется какой-то другой код.
0
Kartoev
1 июля 2025, 11:35
public class Solution {
public static void main(String[] args) {
List<Number> list = new LinkedList<Number>();
initList(list);
printListValues(list);
processCastedObjects(list);
}
private static void processCastedObjects(List<Number> list) {
for (Number object : list) {
if (object instanceof Float) {
Float a = (Float) object;
System.out.println("Is float value defined? " + !(a.isNaN()));
} else if (object instanceof Double) {
Double a = (Double) object;
System.out.println("Is double value infinite? " + a.isInfinite());
}
}
}
private static void printListValues(List<Number> list) {
for (int i = 0; i < list.size(); i++) {
System.out.println(list.get(i));
}
}
private static void initList(List<Number> list) {
list.add(new Double(1000f));
list.add(new Double("123e-445632"));
list.add(new Float(-90 / -3));
list.remove(new Double("123e-445632"));
}
}
0
hidden #3303140
1 июля 2025, 11:50
А чего ты вообще пытаешься добиться? По коду не понятно. В чём заключается задача? Где у тебя i = 1?
Сейчас я вижу, что у тебя в методе printListValues бесконечный цикл. Он прервётся, когда i достигнет размера list.size(). При это в теле цикла ты возвращаешь i значение 0 и выводишь один и тот же элемент под индексом 0, поэтому цикл не прервётся никогда.
+2