String s = "Я не хочу изучать Java, я хочу большую зарплату";
for (int i = 0; i <40 ; i++) {
System.out.println(s);
s= s.substring(1);
}
Так все ок! А с s.length выводит 24 строки?
for (int i = 0; i <s.length() ; i++) {
System.out.println(s);
s= s.substring(1);
}
вывод заканчивается на { я хочу большую зарплату}
Алексей
26 уровень
Почему 24? Что не так с s.length()?
Решен
Комментарии (3)
- популярные
- новые
- старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
Инсаф Бакиров
24 декабря 2019, 12:20
Ты просто не переопределяй s
0
JustinianJudge в Mega City OneMaster
13 декабря 2019, 00:33полезный
В первом случае у тебя содержимое цикла отработает 40 раз.
Во втором случае у тебя будет два счетчика в цикле.
i++ будет каждую итерацию увеличиваться на +1
а cама строка и следовательно ее длина (а следовательно и s.length()) будут уменьшатся на -1
и где-то посредине они сойдутся, и цикл закончится когда длина урезанной строки станет равной i
Вот я вывел по итерациям для наглядности:
+1
Алексей
13 декабря 2019, 00:52
Спасибо. И главное, что уже сталкивался с этим в JavaSyntax.
0