^ Linux - Friheden til at programmere i Java: Version 0.7.20040516 - 2020-12-31 ^|
| [[java:java-klasser-konst|forrige]] | Kapitel 5. Definition af klasser | [[java:java-klasser-rela|næste]] |
----
==== 5.4. En Terning-klasse ====
Lad os tage et andet eksempel, en terning. Den vigtigste egenskab ved en terning er dens værdi (dvs. antallet af øjne på siden, der vender opad lige nu) mellem 1 og 6.
**Figur 5-4. Java**
{linuxbog:java:Nordfalk615387.png}
//// En klasse der beskriver 6-sidede terninger// public class Terning
{ //// den side der vender opad lige nu// //int værdi;// //// konstruktør// //public Terning()// {
kast(); //// kald kast() der sætter værdi til noget fornuftigt// } //// metode til at kaste terningen// //public void kast()// { //// find en tilfældig side// double tilfældigtTal = Math.random();
værdi = (int) (tilfældigtTal * 6 + 1);
} //// giver en beskrivelse af terningen som en streng// //public String toString()// {
String svar = ""+værdi; //// værdi som streng, f.eks. "4"// return svar;
}
}
Her er et program, der bruger et Terning-objekt til at slå med, indtil vi får en 6'er:
public class BenytTerning
{
public static void main(String args[])
{
Terning t;
t = new Terning(); //// opret terning// //// Slå nu med terningen indtil vi får en sekser// boolean sekser = false;
int antalKast = 0;
while (sekser==false)
{
t.kast();
antalKast = antalKast + 1;
System.out.println("kast "+antalKast+": "+t.værdi);
if (t.værdi == 6) sekser = true;
}
System.out.println("Vi slog en 6'er efter "+antalKast+" slag.");
}
}
kast 1: 4
kast 2: 2
kast 3: 6
Vi slog en 6'er efter 3 slag.
=== 5.4.1. Opgaver ===
- Skriv et program, der rafler med to terning-objekter, indtil der slås en 6'er.
- Skriv et program, der rafler med fire terninger, indtil der slås tre eller fire 6'ere. Udskriv antal øjne for hver terning.
- Skriv et program, der rafler med 12 terninger, og hver gang udskriver øjnene, summen af øjnene og hvor mange 6'ere der kom. Brug Vector-klassen til at holde styr på terningerne.
- Lav en Moent-klasse der repræsenterer en mønt med 2 sider (du kan tage udgangspunkt i Terning.java). Lav metoden krone(), der returnerer true eller false. Lav et program, der kaster en mønt 100 gange og tæller antal gange, det fik krone.
----
| [[java:java-klasser-konst|forrige]] | [[java:index|hjem]] | [[java:java-klasser-rela|næste]] |
| Konstruktører | [[java:java-klasser|op]] | Relationer mellem objekter |