^ 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 |