// Tapahtumia.java Copyright (c) 2006 Kari Laitinen // http://www.naturalprogramming.com // 2006-03-07 Tiedosto luotu. // 2006-03-07 Viimeisin muutos. // Käännöksen aikana tiedostojen Paivamaara.java ja PaivienEtaisyys.java // tulee olla samassa hakemistossa (kansiossa) tämän ohjelman kanssa. // There are notes at the end of this file. import java.util.ArrayList ; import java.util.Collections ; class Tapahtuma extends Paivamaara implements Comparable { protected String tapahtuman_kuvaus ; public Tapahtuma( int tapahtuman_paiva, int tapahtuman_kuukausi, int tapahtuman_vuosi, String annettu_tapahtuman_kuvaus ) { tama_paiva = tapahtuman_paiva ; tama_kuukausi = tapahtuman_kuukausi ; tama_vuosi = tapahtuman_vuosi ; tapahtuman_kuvaus = annettu_tapahtuman_kuvaus ; } public String toString() { Paivamaara tapahtuman_paivamaara = new Paivamaara( tama_paiva, tama_kuukausi, tama_vuosi, paivamaaran_formaatti ) ; return ( tapahtuman_paivamaara + " " + tapahtuman_kuvaus ) ; } public int compareTo( Tapahtuma tapahtuma_johon_verrataan ) { int vertailun_tulos = 0 ; // Saman paivan tapahtumia. if ( this.on_aikaisempi_kuin( tapahtuma_johon_verrataan ) ) { vertailun_tulos = -1 ; // "tama" tapahtuma on aikaisempi. } else if ( this.on_myohaisempi_kuin( tapahtuma_johon_verrataan ) ) { vertailun_tulos = 1 ; // "tama" tapahtuma on myohaisempi. } return vertailun_tulos ; } } class Tapahtumia { public static void main( String[] ei_kaytossa ) { Tapahtuma lennonin_syntyma = new Tapahtuma( 9, 10, 1940, "John Lennon syntyi.") ; Tapahtuma einsteinin_syntyma = new Tapahtuma( 14, 3, 1879, "Albert Einstein syntyi." ) ; ArrayList tapahtumalista = new ArrayList() ; tapahtumalista.add( lennonin_syntyma ) ; tapahtumalista.add( einsteinin_syntyma ) ; tapahtumalista.add( new Tapahtuma( 8, 12, 1980, "John Lennon ammuttiin New Yorkissa." ) ) ; System.out.print( "\nTaulukon tapahtumalista tapahtumat: \n" ) ; int tapahtuman_indeksi = 0 ; while ( tapahtuman_indeksi < tapahtumalista.size() ) { System.out.print( "\n " + tapahtumalista.get( tapahtuman_indeksi )); tapahtuman_indeksi ++ ; } ArrayList toinen_tapahtumalista = new ArrayList(); toinen_tapahtumalista.add( 0, new Tapahtuma( 1, 6, 1926, "Marilyn Monroe syntyi." ) ) ; toinen_tapahtumalista.add( 0, new Tapahtuma( 5, 8, 1962, "Marilyn Monroe kuoli." ) ) ; toinen_tapahtumalista.add( new Tapahtuma(15, 8, 1769, "Napoleon Bonaparte syntyi." ) ) ; toinen_tapahtumalista.add( new Tapahtuma(25,10, 1881, "Pablo Picasso syntyi." ) ) ; System.out.print( "\n\nTaulukon toinen_tapahtumalista tapahtumat: \n" ) ; for ( tapahtuman_indeksi = 0 ; tapahtuman_indeksi < toinen_tapahtumalista.size() ; tapahtuman_indeksi ++ ) { System.out.print( "\n " + toinen_tapahtumalista.get( tapahtuman_indeksi ) ); } Collections.sort( tapahtumalista ) ; Collections.sort( toinen_tapahtumalista ) ; tapahtumalista.addAll( 0, toinen_tapahtumalista ) ; System.out.print( "\n\nTaulukon tapahtumalista tapahtumat: \n" ) ; for ( Tapahtuma tapahtuma_listalla : tapahtumalista ) { System.out.print( "\n " + tapahtuma_listalla ) ; } } } /*** NOTES // The following would be a shorter version of a toString() // method that is suitable to class Tapahtuma. public String toString() { return ( super.toString() + " " + tapahtuman_kuvaus ) ; } // This program uses the Paivamaara class presented in the book. // To avoid confusion, java.util.Paivamaara is not imported into this program. ****/