LUNDS TEKNISKA HÖGSKOLA Institutionen för datavetenskap EDAA30 Programmering i Java – fortsättningskurs HT 2014 Vanliga fel vid Tentamen i EDAA30 Programmering i Java – fortsättningskurs Tentamen består av 4 - 6 uppgifter som tillsammans ger 36 poäng. För godkänt krävs 18 poäng. För att få poäng på en uppgift måste det finnas en rimlig lösning eller huvuddelen av en sådan. Poängavdrag på en uppgift kan aldrig överskrida maxpoängen på den uppgiften. D.v.s. man kan inte få mindre än noll på någon uppgift. Om samma fel upprepas flera gånger i samma uppgift görs avdrag bara en gång. Mindre fel (M) ger 0,5 poängs avdrag, normala fel (N) ger 1-2 poängs avdrag och grova fel (G) ger 2-4 poängs avdrag. Nedan följer en lista över de vanligaste typfelen vid de senaste tentorna. Detta är ingen heltäckande lista över möjliga fel. Teorifrågor Avdrag ges för vaga motiveringar eller inkompletta definitioner. Generik • Glömt typargument <E> (M) Arv • Försök att instansiera ett interface (M) • Låter strukturen snarare än elementen implementera comparable (N) Länkade datastrukturer • Glömmer skapa nodobjekt (N) • Blandar ihop element och nod (N) • NullPointerException (N) • Missar borttagning (t.ex. p.g.a. avsaknad av pekare till föregående nod) (G) • Glömmer skugga equals vid skuggning av hashCode (M) Rekursion • Blandar ihop extends och implements (M) • Ineffektiv rekursion (G) • Glömmer skugga viktiga metoder (t.ex. vid tillägg av attribut såsom räknare) (N) • Lägger till attribut istället för att använda lokala variabler (G) • Skuggar metoder i onödan (N) • Glömmer skicka med referens till datastruktur (G) • Glömmer kontrollera typ (instanceof()) vid t.ex skuggning av equals (N) • Saknar basfall (G) • Felaktigt anrop av superklassens metod (utan super) (N) Jämförelser • Jämför objekt med ==,<,> istället för compareTo (N) • Jämför primtiva typer med compareTo (N) • NVänder på jämförelsen vid compareTo (N) Datastrukturer generellt • Missar del av rekursion (t.ex. ett subträd) (G) • Tar inte hand om resultaten av rekursiva anrop (G) Att följa instruktioner • Felaktigt format på utskrifter (M) • Avsaknad av eller felaktigt returvärde (N) • Hittar på, justerar eller väljer annan datastruktur än angiven (G) • Implementerar inte enligt kommentarerna till specificerade metoder och klasser (G) • Blandar ihop null och tom struktur (M) • Glömmer typkonvertering av Object (M) • Fel intervall eller missad gräns vid traversering (av t.ex. matris eller vektor) (M) Allmänna fel • Missar generera exception (N) • Missar hantera specialfall (N)