Задачу решил с помощью цикла for, но вот с while (ниже в примере) не работало. В чем собственно разница, вроде все идентично? Где можно почитать про подобные различия for и while?
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.ArrayList;
public class Solution {
public static void main(String[] args) throws Exception {
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
ArrayList<String> newList = new ArrayList<>();
int i = 0;
while(i < 5){
i++;
String s = reader.readLine();
newList.add(s);
}
int j = 0;
while(j < 13){
j++;
String str = newList.get(4);
newList.remove(4);
newList.add(0, str);
}
int x = 0;
while(x < newList.size()){
x++;
System.out.println(newList.get(x));
}
}
}
Алексей
9 уровень
Почему работает с for и не работает с while?
Решен
Комментарии (6)
- популярные
- новые
- старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
Oce An
10 февраля 2019, 12:16
System.out.println(newList.get(i));
i, надо x
0
Алексей
10 февраля 2019, 12:19
Да, тупонул. Сменил уже, все-равно не работает.
Я предполагаю, что это может быть из-за разных переменных при добавлении чисел в коллекцию и выводе.
0
Oce An
10 февраля 2019, 12:27решение
инкримент надо поставить после вывода
System.out.println(newList.get(x));
x++;
а то он начинает с 1 выводить а не с нуля
+2
Oce An
10 февраля 2019, 12:28
в предыдущих циклах не имело значений, в последнем имеет
0
Алексей
10 февраля 2019, 12:35
Да, вроде работает.
Но почему он с 1 начинает? Если у нас int x = 0;?
0
Алексей
10 февраля 2019, 12:39
Дошло вроде. Спасибо)
+1