Задание.
Создайте однонапрямленный список и удалите все элементы между элементами со значениями "X" и "Z". напечатать оба списка.
Я первокурсник, обьясните пожалуйста суть ошибки как для чайника. Мой код:
import java.util.LinkedList;
import java.util.Scanner;
public class ApLab4 {
static String scanner(){
Scanner userInput = new Scanner(System.in);
System.out.println("Write a string of symbols");
String userInputString = userInput.nextLine();
return userInputString;
}
public static void main(String[] args) {
LinkedList<String> list = new LinkedList<String>();
list.add(scanner());
System.out.println(list);
System.out.println(list.contains('X'));
if(list.contains("X") && list.contains("Z")){
for (int i = list.indexOf("X") + 1; i < list.indexOf("Z") ; i++) {
list.remove(i);
}
}
System.out.println(list);
}
}
Твоя ошибка в том что ты не заполнял список элементами, а добавлял один элемент и сразу проверял его на нахождения между x и z! Пользуйся отладчиком всегда и поймешь в чем ошибка! Попробуй такой вариант:
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.LinkedList;
public class ApLab4 {
// Для примера пусть длинна списка будет 6
private static final int listLength = 6;
public static void main(String[] args) throws IOException {
BufferedReader reader = new BufferedReader(
new InputStreamReader(System.in));
// Переменная для считывания и записи в список
String string;
// Создаем список LinkedList так как его скорость удаления/вставки выше чем у ArrayList
LinkedList<String> linkedList = new LinkedList<>();
// заполняем его символами
for (int i = 0; i < listLength; i++) {
string = reader.readLine();
linkedList.add(string);
}
System.out.println("Изначальный вид списка: " + linkedList);
// теперь удаляем элемнты между X Z
if(linkedList.contains("x") && linkedList.contains("z")){
for (int i = linkedList.indexOf("x") + 1; i < linkedList.indexOf("z") ; i++) {
linkedList.remove(i);
}
}
System.out.println(linkedList);
}
}
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Никто не подскажет как можно правильно конвертить в RealmList<> например Map<String, String> ну или List<SomeClass>?
В приложении для android у меня есть три Activity, Activity1, Activity2, Activity3 все они открываются в таком же порядкеЯ пытаюсь передать из Activity1 данные ArrayList...
Собственно он не хочет работать:
Пытаюсь установить на планшет под Андроид 44