Професионална програма
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