Задание.
Создайте однонапрямленный список и удалите все элементы между элементами со значениями "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);
}
}
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости