Linux - Friheden til at programmere i Java: Version 0.7.20040516 - 2020-12-31 | ||
---|---|---|
forrige | Kapitel 5. Definition af klasser | næste |
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.
// 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.
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.