// Uppgift 1 a) Före rad 10: Metoden kör() definieras inte i klassen Tåg Man måste ha med en definition av denna metod eftersom klassen Tåg inte är abstrakt. b) Rad 20: Defaultkonstruktor saknas i klassen Instrument. Den anropas automatiskt från konstruktorn i subklassen Fiol. Den bästa lösningen är att i klassen Fiol ersätta rad 20 med ett anrop av konstruktorn i klassen Instrument: super(n); c) Rad 35: Man försöker överlagra metoden hastighet(), men detta är inte tillåtet eftersom de två versionerna har samma parameterlista. (Det räcker inte att returtyperna är olika.) Den bästa lösningen här är nog att bara ha ett enda interface, vilket innehåller en enda version av metoden hastighet(). // Uppgift 2 import javax.swing.*; import java.awt.*; class Diagram extends JPanel { private double p[]; private Color c[]; public Diagram (double val[], Color col[]) { setValues(val, col); } public void setValues(double val[], Color col[]) { if (val.length != col.length) throw new IllegalArgumentException("Olika längder"); p = new double[val.length]; c = col; double sum = 0; for (int i=0; i tab = new HashMap<>(); while (sc.hasNext()) { String pnr = sc.nextLine(); Person p = new Person(sc.nextLine(), sc.nextLine()); tab.put(pnr, p); } while (true) { String pnr = JOptionPane.showInputDialog("Personnummer?"); if (pnr == null) break; Person p = tab.get(pnr); if (p != null) JOptionPane.showMessageDialog(null, p.namn + "\n" + p.avdelning); else JOptionPane.showMessageDialog(null, "Felaktigt personnummer"); } } }