[Exam Problems] Java Fundamentals 23.04.2016 - problem {4} - GUnit
Здравейте,
как сте след вчерашния изпит? :))
Може ли някой да покаже решение на последната задача (GUnit) и това прословуто сортиране?
Ако пък му се занимава, може ли да каже и защо на мен ми върви само Zero test-ът, а после гърми?
линк към моето решение: тук
P.S. Със сегашното решение вече не гърми, проблемът беше липсата на scanner.nextLine(), когато регексът не е мачнат, и съответно зацикляше. Все още има проблем, тъй като резултатът не е пълен.
P.S.2 Задачата вече е 100/100. Оправена е и в github. Проблемът беше, че липсваше вълшебната думичка return на едно място :)) Тънка е границата между 0 и 100 точки - scanner.nextLine() и един return. :D Това е в кръга на шегата, разбира се. Благодаря на всички, които се включиха в дискусията и пратиха решения!
Аз общия брой на unit тестовете го изведох в две int променливи , като използвах начина от упражнението за Stream API, което беше със .sum() . Или като пример:
int allTests1 = data.get(entry1.getKey()).entrySet().stream().mapToInt((x) -> x.getValue().size()).sum();
Ето и цялото решение цък: :) . Може да не е най-доброто решение, но съм доволен ,че сам го направих без да гледам от авторското решение :)
Хмм, тва със sum() е много добра идея. Иначе виждам, че ползваш mapToInt(). Ще пробвам и с него да видя, може да си оправя проблема с него. Но все още се чудя, защо компилатора ми иска int[], при положение, че единственото, което правя със тези променливи е да добавям стойността на Integer.valueOf(), което връща нормален int.
Edit: Явно аз не съм внимавал достатъчно. Integer.valueOf() връща Integer wrapper не примитивния int. Преправих си задачата, като дадох двете променливи да са Integer а не int. Пак кода не се компилра, този път със "local variables referenced from a lambda expression must be final or effectively final"