03. Quests Journal Дава ми 80 от 100 има накякъв проблем при side quest, но не мога да разбера какъв. Моля да бъда извинен за неправилно наименованите променливи и лошата прегледност на кода. :)
package com.company;
import java.lang.reflect.Array;
import java.text.DecimalFormat;
import java.util.*;
import java.util.stream.Collectors;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
var result=Arrays.stream(sc.nextLine().split(", "))
.collect(Collectors.toList());
var input=sc.nextLine();
while (!input.equals("Retire!"))
{
var cmdargs = input.split(" - ");
if(cmdargs[0].equals("Start"))
{
if (result.contains(cmdargs[1])) break;
else result.add(cmdargs[1]);
}
else if(cmdargs[0].equals("Complete"))
{
if(result.contains(cmdargs[1])) result.remove(cmdargs[1]);
else break;
}
else if(cmdargs[0].equals("Side Quest"))
{
var newcmdargs = cmdargs[1].split(":");
if(result.contains(newcmdargs[0]))
{
if(result.contains(newcmdargs[1])) break;
else result.add(result.indexOf(newcmdargs[0])+1, newcmdargs[1]);
}
else break;
}
else if(cmdargs[0].equals("Renew"))
{
if(result.contains(cmdargs[1]))
{
result.remove(cmdargs[1]);
result.add(cmdargs[1]);
}
else break;
}
input=sc.nextLine();
}
if(result.size()>0)
{
for (int i = 0; i <result.size() ; i++) {
System.out.print(result.get(i));
if(i!=result.size()-1)
{
System.out.print(", ");
}
}
}
}
}