5.8. Opgaver

Husk at lave små main()-programmer, der afprøver de ting, du programmerer.

  1. Udbyg Person-klassen med metoden formue(), der skal returnere summen af saldiene på personens konti. Lav en BenytKonto med flere personer, der har flere konti.

  2. Lav en klasse, der repræsenterer en Postering på en bankkonto med tekst, indsat beløb (udtræk regnes negativt) og dato. Udvid Konto med en liste af posteringer, og metoden udskrivPosteringer(), der skal udskrive posteringerne og løbende saldo på skærmen.

  3. Lav en klasse, der repræsenterer en bil. En bil har en farve, et antal kørte kilometer og en (vurderet) pris.

  4. Udbyg Bil-klassen med en vektor, der husker, hvilke personer der sidder i bilen lige nu. Definér følgende metoder på Bil-klassen, og afprøv klassen.public void enSætterSigInd(Person p) // kaldes, når en person sætter sig ind i bilen.public String hvemSidderIBilen() // giver en streng, der beskriver personerne i bilen.public void alleStigerUd() // kaldes, når alle stiger ud af bilen.

  5. Udbyg Person-klassen, så en person kan eje en bil. Udbyg metoden formue(), sådan at den husker at indregne bilens pris. Metoden skal virke både for personer med og uden bil (Person-objekter uden bil kan have denne variabel sat til null).

5.8.1. Fejlfinding

  1. Der er 2 fejl i koden nedenfor. Find dem, og ret dem. Kig eventuelt på afsnittene om formen af en klasse og formen af en metode ovenfor.

public class Fejlfinding1
{
  private int a = 5;
  private String b;
  private c String;
  {
}
  1. Der er 3 fejl i koden nedenfor. Find dem, og ret dem.

public class Fejlfinding2
{
  private String b;
  b = "Hej";

  public Fejlfinding2() {
    return b;
  }

  public Fejlfinding2(String c) {
    b = c
  }
 }
}
  1. Der er 9 fejl i koden nedenfor. Find dem, og ret dem.

import java.util.*;

public class Fejlfinding3
{
  public String v = 'hej';
  public string etLangtVariabelnavn;
  public vector v2;
  public INT v3;
  public flot v4;
  public v5;
  public int vi = 5.3;
  public Vector vi3 = "xxx";
  public String vi5 = new String(Hej);
}
  1. Der er 8 fejl i koden nedenfor. Find dem, ret dem og begrund rettelserne.

public class Fejlfinding4
{
  private int a = 5;
  private String b;

  public void x1(int y)
  {
    y = a;
  }

  a = 2;

  public Fejlfind(int a) {
    a = 4;
    String = "goddag";
  }

  public x2(int y)
  {
    a = y*2;
  }

  public int x3(int y)
  {
    b = y;
  }

  public void x4(int y)
  {
    return 5;
  }
  1. Der er 7 fejl i koden nedenfor. Find dem, og ret dem.

public class Fejlfinding5
{
  private int a = 5
  public void x1(int y)   {
    a = y;                         }
}
  public x2(int y) // fejlmeddelelse: 'class' or 'interface' expected
  {
    a = y*2*x1;

  public int x3(int y)
  {
    a = y*x2();
  }
  }

  public void x4(int y)
  {
    x4 = 8;
  }
}
  1. Find så mange fejl du kan i koden nedenfor og ret dem.

public class Fejlfinding6
{
  public int m()
  {
    System.out.println("Metode m blev kaldt.");

  public void m2()
  {
    String s = "Metode m2 blev kaldt."
    System.out.println(s);
    return s;
  }

  public m3()
  {
    System.out.println("Metode m3 blev kaldt.");
  }

  public void m4(int)
  {
    System.out.println("m4 fik parameter "+p);
  }

  public void m5(p1, p2, p3)
  {
    System.out.println("m5 fik "+p1+" og "+p2+" og "+p3);
    System.out.println("s er: "+s);
    String s = p2.toUpperCase();
  }
}