/* Tiedosto: SisainenOttelu.java Tekijä: Juha Peltomäki, 11.1999. Aihe: Sisäisen luokan (Laskuri) käyttö ulkoisesta luokasta. */ class Pelaaja { String nimi; int pelinumero; Piste pisteet; Pelaaja(String n, int nro) { this.nimi = n; this.pelinumero = nro; this.pisteet = new Piste(); } public int palauta_pisteet() { return pisteet.palauta_pisteet(); } public void lisaa_piste() { pisteet.lisaa_piste(); } public String palauta_nimi() { return this.nimi; } // Sisäinen luokka alkaa class Piste { private int pisteet; public Piste() { this.pisteet = 0; } public void lisaa_piste() { this.pisteet++; } public int palauta_pisteet() { return this.pisteet; } } // sisäinen luokka pisteet päättyy } class Ottelu { // Kaksi pelaajaa, joilla molemmilla nimet ja tehdyt pisteet private Pelaaja p1, p2; public Ottelu(String n1, String n2) { p1 = new Pelaaja(n1, 1); p2 = new Pelaaja(n2, 2); } // Pelinumero tuodaan parametrinä public void lisaa_piste(int nro) { if (nro == 1) p1.lisaa_piste(); if (nro == 2) p2.lisaa_piste(); } public String tilanne() { return p1.palauta_nimi() + " - " + p2.palauta_nimi() + ": " + p1.palauta_pisteet() + " - " + p2.palauta_pisteet(); } } public class OtteluTesti { public static void main(String args[]) { Ottelu peli = new Ottelu("Juha", "Pekka"); peli.lisaa_piste(1); peli.lisaa_piste(2); peli.lisaa_piste(1); peli.lisaa_piste(2); System.out.println(peli.tilanne()); peli.lisaa_piste(1); peli.lisaa_piste(1); System.out.println(peli.tilanne()); } }