Моля, помогнетете ми с намирането на грешката/ите!
Здравейте,
не предният ми въпрос зададен тук в форума не получих никаква помощ и все пак ще направя последн опит да помоля за такава! Ще се радвам ако някой, който разбира материята ми помогне да си намеря грешките и да стана по-добър в това което уча.
Решавам задача от Tech. Fund. JAVA / Задача № 2
На два теста имам грешка но не виждам каква е тя. С различни варианти на входни данни кода работи без видим дефект. Моля помогнете ми да откря в кои варианти кода се чупи.
Благодаря ви предварително!
Александър
import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.Arrays; import java.util.List; import java.util.stream.Collectors; public class TaskTwo { public static void main(String[] args) throws IOException { BufferedReader reader = new BufferedReader(new InputStreamReader(System.in)); List<Integer> numbers = Arrays.stream(reader.readLine().split(" ")) .map(Integer::parseInt).collect(Collectors.toList()); String line = reader.readLine(); while (!line.equals("end")){ String [] lineArray = line.split(" "); String command = lineArray[0]; if(command.equals("Delete")){ int object = Integer.parseInt(lineArray[1]); numbers = numbers.stream().filter(e -> e != object).collect(Collectors.toList()); }else if(command.equals("Insert")){ int index = Integer.parseInt(lineArray[2]); int object = Integer.parseInt(lineArray[1]); numbers.add(index, object); } line = reader.readLine(); } for(int num : numbers){ System.out.print(num + " "); } } }
Ще опитам.
Защо с филтър не работи?
Пак на същите два теста се чупи и с RemoveALL
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.Arrays;
import java.util.List;
import java.util.stream.Collectors;
public class TaskTwo {
public static void main(String[] args) throws IOException {
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
List<Integer> numbers = Arrays.stream(reader.readLine().split(" "))
.map(Integer::parseInt).collect(Collectors.toList());
String line = reader.readLine();
while (!line.equals("end")) {
String[] lineArray = line.split(" ");
String command = lineArray[0];
if (command.equals("Delete")) {
int object = Integer.parseInt(lineArray[1]);
numbers.removeAll(Arrays.asList(object));
} else if (command.equals("Insert")) {
int index = Integer.parseInt(lineArray[2]);
int object = Integer.parseInt(lineArray[1]);
numbers.add(index, object);
}
line = reader.readLine();
}
for (int num : numbers) {
System.out.print(num + " ");
}
}
}