Gå til indholdet

N200 Simpel klasser (Terning)

Du skal skabe en tom konsol app med en klasse Terning (i en fil for sig selv) med følgende medlemmer:

  • En offentlig (public) int værdi
  • En metode Ryst() som sætter værdi til en tilfældig værdi mellem 1-6
    • Se senere
  • En default constructor der sætte værdi til 1
  • En custom constructor der sætter værdien på terningen til den angivne værdi. Hvis værdien er <1 eller >6 skal der smides en Exception med teksen “Forkert værdi”

For at skabe et tilfældigt tal mellem 1-6 i Ryst-metoden kan du benytte System.Random.

Test klassen af i Main ved at skabe instanser og kalde Ryst.

Terning t1 = new Terning();
Console.WriteLine(t1.Værdi);    // 1
t1.Ryst();
Console.WriteLine(t1.Værdi);    // tilfældig værdi

Terning t2 = new Terning(2);
Console.WriteLine(t2.Værdi);    // 2
t2.Ryst();
Console.WriteLine(t2.Værdi);    // tilfældig værdi

Terning t3 = new Terning(8);    // Fejl: Forkert værdi

Klassediagram

Prøv også at tilføje et klassediagram (class diagram) og se klassen visuelt.

Klik for at se et forslag til en løsning
class Program
{
    static void Main(string[] args)
    {
        Terning t1 = new Terning();
        Console.WriteLine(t1.Værdi);    // 1
        t1.Ryst();
        Console.WriteLine(t1.Værdi);    // tilfældig værdi

        Terning t2 = new Terning(2);
        Console.WriteLine(t2.Værdi);    // 2
        t2.Ryst();
        Console.WriteLine(t2.Værdi);    // tilfældig værdi

        Terning t3 = new Terning(8);    // Fejl: Forkert værdi

    }
}    

class Terning
{
    public int Værdi;

    public Terning()
    {
        this.Værdi = 1;
    }

    public Terning(int værdi)
    {
        if (værdi < 1 || værdi > 6)
            throw new ApplicationException("Forkert værdi");
        this.Værdi = værdi;
    }

    public void Ryst() {
        System.Random rnd = new Random();
        this.Værdi = rnd.Next(1, 7);
    }
}