Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public class Henkilotiedot {
- public static void main(String[] args)
- {
- // Luodaan uusi Henkilot-olio.
- Henkilot henkilot = new Henkilot();
- // Lisätään kaksi henkilöä henkilot-otukseen syntymäaikoineen.
- henkilot.lisaaHenkilo("Matti Lallo", 1991, 10, 30);
- henkilot.lisaaHenkilo("Tatu Jämsen", 1992, 01, 20);
- // henkilot.lisaaHenkilo("Pelle Hermanni", 3000, 12, 3); // virheellinen, tulostaa exceptionin. Voit kokeilla poistamalla kommentit.
- // Tulostetaan henkilöiden lkm.
- System.out.println("Tallennettujen henkiloiden lkm: " + henkilot.palautaHenkiloMaara() + "\n");
- System.out.println("Nimi" + " | " + "Syntyma-aika" + "\n");
- // Tulostetaan henkilöt.
- for (int i = 0; i < henkilot.palautaHenkiloMaara(); i++) {
- System.out.println(henkilot.palautaHenkilo(i).toString());
- }
- }
- }
- import java.util.ArrayList;
- public class Henkilot {
- // Luodaan ArrayList henkilöiden tallentamista varten.
- private ArrayList<Henkilo> henkilot = new ArrayList<Henkilo>();
- public void lisaaHenkilo(String nimi, int vuosi, int kuukausi, int paiva)
- {
- // Luodaan ja lisätään uusi Henkilo-olio Arraylistiin mikäli syntymäaika on kelvollinen.
- try {
- if ((vuosi>= 1905 && vuosi <= 2016) && (kuukausi >= 1 && kuukausi <= 12) && (paiva >= 1 && paiva <= 31)) {
- Henkilo henkilo = new Henkilo(nimi, vuosi, kuukausi, paiva);
- henkilot.add(henkilo);
- } else {
- throw new Exception("Annettu syntymaaika ei kelpaa.");
- }
- }
- catch (Exception e) {
- e.printStackTrace();
- }
- }
- public Henkilo palautaHenkilo(int index)
- {
- // Palautetaan Henkilo-olio tietystä ArrayListin indeksistä.
- return henkilot.get(index);
- }
- public int palautaHenkiloMaara()
- {
- // Palautetaan Henkilot-olion koko eli tallennettujen henkilöiden lkm.
- return henkilot.size();
- }
- }
- public class Henkilo {
- private String nimi;
- private SyntAika syntAika;
- public Henkilo(String nimi, int vuosi, int kuukausi, int paiva)
- {
- // Tallennetaan henkilön nimi ja syntymäaika.
- this.nimi = nimi;
- syntAika = new SyntAika(vuosi, kuukausi, paiva);
- }
- public String palautaNimi()
- {
- // Palautetaan henkilön nimi.
- return nimi;
- }
- public String palautaSyntAika()
- {
- // Palautetaan henkilön syntymäaika String-muodossa.
- return syntAika.toString();
- }
- public String toString() {
- // Palautetaan henkilötiedot String-muodossa.
- return palautaNimi() + " | " + palautaSyntAika();
- }
- }
- public class SyntAika {
- private int vuosi;
- private int kuukausi;
- private int paiva;
- public SyntAika(int vuosi, int kuukausi, int paiva)
- {
- // Tallennetaan syntymäaika.
- this.vuosi = vuosi;
- this.kuukausi = kuukausi;
- this.paiva = paiva;
- }
- public void asetaVuosi(int vuosi)
- {
- this.vuosi = vuosi;
- }
- public void asetaKuukausi(int kuukausi)
- {
- this.kuukausi = kuukausi;
- }
- public void asetaPaiva(int paiva)
- {
- this.paiva = paiva;
- }
- public String toString()
- {
- return paiva + "." + kuukausi + "." + vuosi;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement