Advertisement
Guest User

Untitled

a guest
May 24th, 2016
107
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 3.15 KB | None | 0 0
  1. public class Henkilotiedot {
  2.  
  3.     public static void main(String[] args)
  4.     {
  5.         // Luodaan uusi Henkilot-olio.
  6.         Henkilot henkilot = new Henkilot();
  7.  
  8.         // Lisätään kaksi henkilöä henkilot-otukseen syntymäaikoineen.
  9.         henkilot.lisaaHenkilo("Matti Lallo", 1991, 10, 30);
  10.         henkilot.lisaaHenkilo("Tatu Jämsen", 1992, 01, 20);
  11.         // henkilot.lisaaHenkilo("Pelle Hermanni", 3000, 12, 3); // virheellinen, tulostaa exceptionin. Voit kokeilla poistamalla kommentit.
  12.        
  13.         // Tulostetaan henkilöiden lkm.
  14.         System.out.println("Tallennettujen henkiloiden lkm: " + henkilot.palautaHenkiloMaara() + "\n");
  15.         System.out.println("Nimi" + " | " + "Syntyma-aika" + "\n");
  16.  
  17.         // Tulostetaan henkilöt.
  18.         for (int i = 0; i < henkilot.palautaHenkiloMaara(); i++) {
  19.             System.out.println(henkilot.palautaHenkilo(i).toString());
  20.         }  
  21.     }
  22. }
  23.  
  24.  
  25.  
  26.  
  27.  
  28.  
  29.  
  30.  
  31.  
  32. import java.util.ArrayList;
  33.  
  34. public class Henkilot {
  35.  
  36.     // Luodaan ArrayList henkilöiden tallentamista varten.
  37.     private ArrayList<Henkilo> henkilot = new ArrayList<Henkilo>();
  38.    
  39.     public void lisaaHenkilo(String nimi, int vuosi, int kuukausi, int paiva)
  40.     {
  41.         // Luodaan ja lisätään uusi Henkilo-olio Arraylistiin mikäli syntymäaika on kelvollinen.
  42.         try {
  43.             if ((vuosi>= 1905 && vuosi <= 2016) && (kuukausi >= 1 && kuukausi <= 12) && (paiva >= 1 && paiva <= 31)) {
  44.                 Henkilo henkilo = new Henkilo(nimi, vuosi, kuukausi, paiva);
  45.                 henkilot.add(henkilo);
  46.             } else {
  47.                 throw new Exception("Annettu syntymaaika ei kelpaa.");
  48.             }
  49.         }
  50.        
  51.         catch (Exception e) {
  52.             e.printStackTrace();
  53.         }
  54.     }
  55.  
  56.     public Henkilo palautaHenkilo(int index)
  57.     {
  58.         // Palautetaan Henkilo-olio tietystä ArrayListin indeksistä.
  59.         return henkilot.get(index);
  60.     }
  61.  
  62.     public int palautaHenkiloMaara()
  63.     {
  64.         // Palautetaan Henkilot-olion koko eli tallennettujen henkilöiden lkm.
  65.         return henkilot.size();
  66.     }
  67. }
  68.  
  69.  
  70.  
  71.  
  72.  
  73.  
  74.  
  75.  
  76. public class Henkilo {
  77.     private String nimi;
  78.     private SyntAika syntAika;
  79.    
  80.     public Henkilo(String nimi, int vuosi, int kuukausi, int paiva)
  81.     {
  82.         // Tallennetaan henkilön nimi ja syntymäaika.
  83.         this.nimi = nimi;
  84.         syntAika = new SyntAika(vuosi, kuukausi, paiva);
  85.     }
  86.  
  87.     public String palautaNimi()
  88.     {
  89.         // Palautetaan henkilön nimi.
  90.         return nimi;
  91.     }
  92.    
  93.     public String palautaSyntAika()
  94.     {
  95.         // Palautetaan henkilön syntymäaika String-muodossa.
  96.         return syntAika.toString();
  97.     }
  98.  
  99.     public String toString() {
  100.         // Palautetaan henkilötiedot String-muodossa.
  101.         return palautaNimi() + " | " + palautaSyntAika();
  102.     }
  103. }
  104.  
  105.  
  106.  
  107.  
  108.  
  109.  
  110.  
  111.  
  112.  
  113.  
  114.  
  115.  
  116. public class SyntAika {
  117.     private int vuosi;
  118.     private int kuukausi;
  119.     private int paiva;
  120.    
  121.    
  122.     public SyntAika(int vuosi, int kuukausi, int paiva)
  123.     {
  124.         // Tallennetaan syntymäaika.
  125.         this.vuosi = vuosi;
  126.         this.kuukausi = kuukausi;
  127.         this.paiva = paiva;
  128.     }
  129.    
  130.     public void asetaVuosi(int vuosi)
  131.     {
  132.         this.vuosi = vuosi;
  133.     }
  134.  
  135.     public void asetaKuukausi(int kuukausi)
  136.     {
  137.         this.kuukausi = kuukausi;
  138.     }
  139.  
  140.     public void asetaPaiva(int paiva)
  141.     {
  142.         this.paiva = paiva;
  143.     }
  144.  
  145.     public String toString()
  146.     {
  147.         return paiva + "." + kuukausi + "." + vuosi;
  148.     }
  149. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement