package com.javarush.task.pro.task14.task1413;
import java.util.Map;
import java.util.TreeMap;
import java.util.stream.Collectors;
/*
Лонг дринк
*/
public class Solution {
public static void main(String[] args) {
Map<String, Integer> screwdriverIngredients = makeScrewdriver();
String screwdriver = screwdriverIngredients.keySet().stream()
.map(key -> key + "=" + screwdriverIngredients.get(key))
.collect(Collectors.joining(", ", "{", "}"));
System.out.println(screwdriver);
}
static Map<String, Integer> makeScrewdriver() {
Map<String, Integer> ingredients = new TreeMap<>();
addIce(ingredients);
addVodka(ingredients);
addJuice(ingredients);
addOrange(ingredients);
return ingredients;
}
static void addIce(Map<String, Integer> ingredients) {
try {
ingredients.put("ice cubes", 7);
} catch (Exception e){
printBugMethodName(e.getStackTrace());
}
}
static void addVodka(Map<String, Integer> ingredients) {
try{
ingredients.put("vodka", 50);
} catch (Exception e){
printBugMethodName(e.getStackTrace());
}
}
static void addJuice(Map<String, Integer> ingredients) {
try {
ingredients.put(null, 100);
} catch (Exception e){
printBugMethodName(e.getStackTrace());
}
}
static void addOrange(Map<String, Integer> ingredients) {
try {
ingredients.put("orange slice", 1);
} catch (Exception e){
printBugMethodName(e.getStackTrace());
}
}
public static void printBugMethodName(StackTraceElement[] stackTraceElements) {
StackTraceElement stackTraceElement = stackTraceElements[1];
System.out.println(stackTraceElement.getMethodName());
}
}energet1k93
23 уровень
Вывод одинаковый с правильным решением, но валидатор не пропускает, почему?
Обсуждается
Комментарии (2)
- популярные
- новые
- старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
Sokol
22 января 2023, 12:58
Thread.currentThread().getStackTrace() - возвращает стек вызовов текущего потока (можно использовать для отладки программы)
e.getStackTrace() - возвращает стек вызовов, который привел к возникновению исключения (используется что бы понять из за чего возникло исключение и путь обработки исключения)
В данной программе если добавить вывод e.getStackTrace():
Т.е. вывод - не одинаковый!
0
hidden #598481
27 октября 2022, 14:29
Если прикрепить задачу к вопросу, то остальные смогут узнать условие. По ссылке оно доступно только тем, у кого есть подписка.
0