Помогите разгрести кашу в голове. Валидатор указывает на проблему в следующих классах:
public class CurrencyManipulatorFactory {
private static Map<String, CurrencyManipulator> map = new HashMap<>();
private CurrencyManipulatorFactory(){
}
public static CurrencyManipulator getManipulatorByCurrencyCode(String currencyCode){
return new CurrencyManipulator(currencyCode);
}
//Проблема туть:
public static Collection<CurrencyManipulator> getAllCurrencyManipulators(){
return new ArrayList<>(map.values());
}
}
class InfoCommand implements Command {
@Override
public void execute() {
Collection<CurrencyManipulator> currencyManipulators = CurrencyManipulatorFactory.getAllCurrencyManipulators();
if (currencyManipulators.isEmpty()) {
ConsoleHelper.writeMessage("No money available.");
}
for (CurrencyManipulator currencyManipulator : currencyManipulators) {
if (currencyManipulator.hasMoney()) {
ConsoleHelper.writeMessage(currencyManipulator.getCurrencyCode().toUpperCase() + " - " + currencyManipulator.getTotalAmount());
} else {
ConsoleHelper.writeMessage("No money available.");
}
}
}
package com.javarush.task.task26.task2613;
import com.javarush.task.task26.task2613.command.CommandExecutor;
import com.javarush.task.task26.task2613.exception.InterruptOperationException;
import com.javarush.task.task26.task2613.exception.NotEnoughMoneyException;
import java.util.Locale;
import static com.javarush.task.task26.task2613.command.CommandExecutor.execute;
public class CashMachine {
public static void main(String[] args) {
// CurrencyManipulator currencyManipulator = CurrencyManipulatorFactory.getManipulatorByCurrencyCode(ConsoleHelper.askCurrencyCode());
//// String[] xyetaPolna9 = ConsoleHelper.getValidTwoDigits(ConsoleHelper.readString());
//// currencyManipulator.addAmount(Integer.parseInt(xyetaPolna9[0]), Integer.parseInt(xyetaPolna9[1]));
// currencyManipulator.getTotalAmount();
// ConsoleHelper.askOperation();
Locale.setDefault(Locale.ENGLISH);
Operation askoperation;
do {
askoperation = ConsoleHelper.askOperation();
execute(askoperation);
}while (!Operation.EXIT.equals(askoperation));
}
}