// Olympialaiset.java Copyright (c) 2005 Kari Laitinen // http://www.naturalprogramming.com // 2005-10-21 Tiedosto luotu. // 2005-10-21 Viimeisin muutos. /* Olympialaiset.java (c) 2005 Kari Laitinen Tama ohjelma nayttaa kuinka kaytetaan olioita sisaltavaa taulukkoa, tai tarkemmin sanottuna taulukkoa joka sisaltaa viittauksia olioihin. Ohjelmassa esitellaan ensin luokka nimelta Olympialaiset. Tuon luokan olio pitaa sisallaan yksien olympiakisojen tiedot. Olympialaiset-luokkaan perustuen maaritellaan taulukko johon talletetaan kaikkien tunnettujen kesaolympialaisten tiedot. Ohjelma sitten etsii tietoja kyseisesta taulukosta. */ import java.util.* ; class Olympialaiset { int olympiavuosi ; String olympiakaupunki ; String olympiamaa ; public Olympialaiset( int annettu_olympiavuosi, String annettu_olympiakaupunki, String annettu_olympiamaa ) { olympiavuosi = annettu_olympiavuosi ; olympiakaupunki = annettu_olympiakaupunki ; olympiamaa = annettu_olympiamaa ; } public int lue_vuosi() { return olympiavuosi ; } public void tulosta_olympialaisten_tiedot() { System.out.print( "\n Vuonna " + olympiavuosi + " olympiakisojen kaupunki oli " + olympiakaupunki + " (" + olympiamaa + ").\n" ) ; } } class OlympiatietojenEtsija { public static void main( String[] ei_kaytossa ) { Olympialaiset[] kisataulukko = new Olympialaiset[ 40 ] ; kisataulukko[ 0 ] = new Olympialaiset( 1896, "Ateena", "Kreikka" ) ; kisataulukko[ 1 ] = new Olympialaiset( 1900, "Pariisi", "Ranska" ) ; kisataulukko[ 2 ] = new Olympialaiset( 1904, "St. Louis", "U.S.A." ); kisataulukko[ 3 ] = new Olympialaiset( 1906, "Ateena", "Kreikka" ) ; kisataulukko[ 4 ] = new Olympialaiset( 1908, "Lontoo", "Iso-Britannia"); kisataulukko[ 5 ] = new Olympialaiset( 1912, "Tukholma", "Ruotsi" ) ; kisataulukko[ 6 ] = new Olympialaiset( 1920, "Antwerpen","Belgia" ) ; kisataulukko[ 7 ] = new Olympialaiset( 1924, "Pariisi", "Ranska" ) ; kisataulukko[ 8 ] = new Olympialaiset( 1928, "Amsterdam","Alankomaat"); kisataulukko[ 9 ] = new Olympialaiset( 1932, "Los Angeles", "U.S.A."); kisataulukko[ 10 ] = new Olympialaiset( 1936, "Berliini","Saksa" ) ; kisataulukko[ 11 ] = new Olympialaiset( 1948, "Lontoo", "Iso-Britannia"); kisataulukko[ 12 ] = new Olympialaiset( 1952, "Helsinki","Suomi" ) ; kisataulukko[ 13 ] = new Olympialaiset( 1956, "Melbourne","Australia" ) ; kisataulukko[ 14 ] = new Olympialaiset( 1960, "Rooma", "Italia" ) ; kisataulukko[ 15 ] = new Olympialaiset( 1964, "Tokio", "Japani" ) ; kisataulukko[ 16 ] = new Olympialaiset( 1968, "Mexico City","Meksiko" ) ; kisataulukko[ 17 ] = new Olympialaiset( 1972, "Munchen", "Lansi-Saksa"); kisataulukko[ 18 ] = new Olympialaiset( 1976, "Montreal", "Kanada" ) ; kisataulukko[ 19 ] = new Olympialaiset( 1980, "Moskova","Neuvostoliitto"); kisataulukko[ 20 ] = new Olympialaiset( 1984, "Los Angeles","U.S.A."); kisataulukko[ 21 ] = new Olympialaiset( 1988, "Seoul", "Etela-Korea"); kisataulukko[ 22 ] = new Olympialaiset( 1992, "Barcelona","Espanja" ) ; kisataulukko[ 23 ] = new Olympialaiset( 1996, "Atlanta", "U.S.A." ); kisataulukko[ 24 ] = new Olympialaiset( 2000, "Sydney", "Australia" ) ; kisataulukko[ 25 ] = new Olympialaiset( 2004, "Ateena", "Kreikka" ) ; kisataulukko[ 26 ] = new Olympialaiset( 2008, "Peking", "Kiina" ) ; kisataulukko[ 27 ] = new Olympialaiset( 9999, "datan", "loppu" ) ; System.out.print("\n Tama ohjelma osaa kertoa missa olympiakisat" + "\n pidettiin jonain tiettyna vuonna. Anna vuosi " + "\n neljalla numerolla: " ) ; Scanner nappaimisto = new Scanner( System.in ) ; int annettu_vuosi = nappaimisto.nextInt() ; int kisojen_indeksi = 0 ; boolean haku_taulukosta_valmis = false ; while ( haku_taulukosta_valmis == false ) { if ( kisataulukko[ kisojen_indeksi ].lue_vuosi() == annettu_vuosi ) { kisataulukko[ kisojen_indeksi ].tulosta_olympialaisten_tiedot() ; haku_taulukosta_valmis = true ; } else if ( kisataulukko[ kisojen_indeksi ].lue_vuosi() == 9999 ) { System.out.print( "\n Kesaolympialaisia ei pidetty vuonna " + annettu_vuosi + ".\n" ) ; haku_taulukosta_valmis = true ; } else { kisojen_indeksi ++ ; } } } }