OhPe kurssikokeen tehtävän 3 ratkaisut

Henkilo-luokan malliratkaisu

public class Henkilo {

    private String nimi;
    private String puh;

    public Henkilo(String nimi, String puh) {
        this.nimi = nimi;
        this.puh = puh;
    }

    public void vaihdaNumeroa(String uusiNumero) {
        this.puh = uusiNumero;
    }

    public String getNimi() {
        return this.nimi;
    }

    public String getPuh() {
        return this.puh;
    }

    public String toString() {
        return this.nimi + " puh: " + this.puh;

    }
}

Puhelinmuistio-luokan malliratkaisu

import java.util.ArrayList;

public class Puhelinmuistio {

    private ArrayList<Henkilo> henkilot;

    public Puhelinmuistio() {
        henkilot = new ArrayList<Henkilo>();
    } 

    public void lisaa(String nimi, String puh) {
        henkilot.add(new Henkilo(nimi, puh));
    }

    public String haeNumero(String nimi) {
        for (Henkilo h : henkilot) {
            if (h.getNimi().equals(nimi)) {
                return h.getPuh();
            }
        }
        return "numero ei tiedossa";
    }

    /**
     * Vaihtoehtoinen ratkaisutapa
     */
    public String haeNumero2(String nimi) {
        for (int i = 0; i < henkilot.size(); i++) {
            if (henkilot.get(i).getNimi().equals(nimi)) {
                return henkilot.get(i).getPuh();
            }
        }
        return "numero ei tiedossa";

    }

    public void tulostaKaikki() {
        for (Henkilo he : henkilot) {
            System.out.println(he);
        }

    }
}