Професионална програма
Loading...
+ Нов въпрос
DenisDuev avatar DenisDuev 39 Точки

[Java OOP] Methods: 7 Immutable List - проблем в Judge

Нещо не мога да накарам Judge да ми приеме програмата и не мога да разбера защо, дали проблема е в класа, който съм декларирал или е някъде другаде? И ако е в класа, ще може ли малко по подробни условия на задачите, защото хем се проверяват някакви неща чрез reflection, хем не е обяснено какви методи трябва да има класа, знам, че е малко трудно с направата на задачите, но все пак може малко повече описание в условията?
http://pastebin.com/RX8ubpbp - това е кода, с който пробвах, правих и промени по самия метод, но това мисля не е от значение.

Тагове:
2
C# OOP Basics
Bogdan1899 avatar Bogdan1899 50 Точки

Аз също бих искал да получа повече разяснения по условието на задачата. Според мен трябва да има само един метод, който да връща елемент от тип ImmutableList (методи за добавяне и махане на елементи не би трябвало да има, защото все пак e Immitable). Явно обаче не е точно така, защото програмата ми вади грешен отговор в judge.

 

 

EDIT: Иначе колега кодът ми е почти едно към едно с твоя.

0
23/06/2016 18:59:54
sevdalin avatar sevdalin 38 Точки

OMG наистина... как да се сетя, че искат да им върна нов обект от ImmutableList инициализиран със същата "колекция"???

От условието не става изобщо ясно за нещо подобно. Аз разбирам условието, че просто искат да им върна ново копие от колекцията, без да може да се достъпва директно самата колекция. Т.е. да имаме private field, и от пропъртито да имаме само get-er без set-er, за да може само да  достъпваме private field-a, без да имаме възможността да го променяме. И да си направим метод, който да прави копие на колекцията и да я връща.

Да се сетя, че трябва да напиша точно това:

    public ImmutableList GetCollection()
    {
        return new ImmutableList(this.collection);
    }

... за да изпълня условието на задачата, няма шанс.

Добре, че има стари теми във форума, от които да си спестиш 1-2 часа блъскане в стената, докато налучкаш какво точно трябва да направиш. Налучкаш, а не разбереш...

0
ArmenPotourlyan+deleted! avatar ArmenPotourlyan+deleted! 488 Точки

При нас в C# се изисква да се отпечатат броя полета и броя методи в ImmutableList на отделни редове. Тоест изходът трябва да е 1 (едно поле в класа) и 5 (1 написан метод и 4 наследени от Object) на отделни редове.

 

2
nick.genov avatar nick.genov 104 Точки

Ако това е така, не виждам защо дава нула точки при такъв вход:

http://pastebin.com/42zg0ktQ

Кое е грешно?

0
25/06/2016 10:38:18
IskrenPenev avatar IskrenPenev 177 Точки

Има нов файл с условията на задачите. В момента системата иска да се изпише името на това което връща метода, а не броя на методите които класът има. Изтегли си отново условията и замеми кода в блока, който копираш с този от новото условие. 

3
msmilkoff avatar msmilkoff 338 Точки

Рефлекшъна - поправи го на .Name.Contains("SortedDictionary");

1
ktodorov avatar ktodorov 42 Точки

На някого получи ли му се? Чудя се какво точно трябва да върне този reflection - дали нова колекция, дали нов лист, дали нов ImmutableList клас. Пробвах и трите варианта и не се получава.

До организаторите - както пречи да бъдат качвани тестовете? Сега само налучкваме и си губим времето. Това все пак е домашно, а не изпит. А и нямаме интерес да преписваме задачите или да си модифицираме отговорите според тестовете - който гони оценка, може да запише университет, та да вземе поне и диплома.

0
kosio197 avatar kosio197 104 Точки

Привет,

иска да върнеш новa инстанция на ImmutableList.

class ImmutableList {

private List<Integer> ints;

/* Constructors. You may have two, one default and one with parameter ints list, where you copy the given list in the local field ints */

         ...............

        public ImmutableList(List<Integer> ints) {
         .................

            for (Iterator<Integer> iterator = ints.iterator(); iterator.hasNext();) {
               ...................
                ints.add(integer);
            }
        }

        public ImmutableList getArray() {
            return new ImmutableList(ints);
        }

}

1
26/06/2016 14:49:53
tishkata86 avatar tishkata86 14 Точки

Колегата по долу е прав трябва да върнеш ImmutableList в getter-а за да се извади правилен резултат.
http://pastebin.com/jweuGTZK

0
01/07/2016 11:02:25