Loading...
StaVykoV avatar StaVykoV 169 Точки

[Homework] Pizza Time - разяснение

Здравейте, нещо не мога да схвана идеята на метода който се изисква в класа Pizza. Какъв лист мап трябва да изготви, при положение, че класа съдържа информацията само за една пица...

Тагове:
0
C# OOP Basics
kosio197 avatar kosio197 104 Точки

Привет,

Доколкото разбирам, идеята е в class Pizza да имаш един :

private static Map<Integer, List<String>> map = new HashMap<>();, който метода трябва да връща.

Този map го пълниш всеки път когато създаваш нова инстанция на класа Pizza, примерно в конструктура:

public Pizza(int group, String name) {
        this.group = group;
        this.name = name;

       //тук добавяш в map новата пица
    }

 

1
kaloyannikov avatar kaloyannikov 531 Точки

Като цяло задачата си е безмислена единствено да се упражни правенето на клас и методи може би. Не знам дали решението ми е правилно ,аз в класа Pizza имам единствено 1 метод  без field и без конструктор (дори може и да си е статик сега като се замисля) и тоя метод връща hashmap като вътре в него е логиката по добавяне на пици. 

В main-a единствено подавам на метода на Pizza ( String... params ) и принтирвам след това.

1
a_dimitrov avatar a_dimitrov 20 Точки

Аз по някаква причина взех само 40 точки и се чудя дали гафа може да е в регекса???

0
StaVykoV avatar StaVykoV 169 Точки

И аз хванах само 40 точки - от последните 2 теста...

0
silvi81 avatar silvi81 77 Точки

И на мен ми даваше само 40 точки, смених Regex-а и се оправиха нещата.  

@"(\d+)(\w+)"  

Явно името на пицата не се състои само от букви.

1
kaloyannikov avatar kaloyannikov 531 Точки

(\\d+)(\\S+) или всичко освен space

0
vdzhambazova avatar vdzhambazova 6 Точки

Според мен се иска да се направи статичен метод, който приема params string[] със слитнатия input (целия). И след като приемем целият input го обработваме в метода докато не върнем сортирания речник. Тоест дори не се прави инстанция на Pizza, само се извиква статичния метод заедно с input-a

0
sevdalin avatar sevdalin 38 Точки

Поредната задача, в която ти трябва повече умствен капацитет за да разбереш какво точно се изисква от теб, от колкото за да го напишеш. В крайна сметка, ако погледнем проверките, които правят:

        MethodInfo[] methods = typeof(Pizza).GetMethods();
        bool containsMethod = methods.Any(m => m.ReturnType.Name.Contains("SortedDictionary"));
        if (!containsMethod)
        {
            throw new Exception();
        }

... виждаме, че проверяват само дали имаме метод който да връща SortedDictionary. Останалото е чиста импровизация, който както иска да си го напише. Аз пробвах без да създавам field-ове в класа Pizza дори и пак дава 100/100. Метода ми връща желания резултат, но съм го направил и да принтира директно, защото не виждам смисъл от цялата работа.

Ето кода ми, ако на някой му е интересно друго решение или се чуди защо не му дава 100/100 - https://pastebin.com/K3YQJtUV

0
Можем ли да използваме бисквитки?
Ние използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Можете да се съгласите с всички или част от тях.
Назад
Функционални
Използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Използваме „сесийни“ бисквитки, за да Ви идентифицираме временно. Те се пазят само по време на активната употреба на услугите ни. След излизане от приложението, затваряне на браузъра или мобилното устройство, данните се трият. Използваме бисквитки, за да предоставим опцията „Запомни Ме“, която Ви позволява да използвате нашите услуги без да предоставяте потребителско име и парола. Допълнително е възможно да използваме бисквитки за да съхраняваме различни малки настройки, като избор на езика, позиции на менюта и персонализирано съдържание. Използваме бисквитки и за измерване на маркетинговите ни усилия.
Рекламни
Използваме бисквитки, за да измерваме маркетинг ефективността ни, броене на посещения, както и за проследяването дали дадено електронно писмо е било отворено.