demo
Class Aanestys3

java.lang.Object
  extended by demo.Aanestys3

public class Aanestys3
extends java.lang.Object

Ohjelmalla äänestetään

Version:
1.0, 27.02.2003
Author:
Vesa Lappalainen

Constructor Summary
Aanestys3()
           
 
Method Summary
static void main(java.lang.String[] args)
          Testataan Vaihtoehdot-luokkaa
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

Aanestys3

public Aanestys3()
Method Detail

main

public static void main(java.lang.String[] args)
Testataan Vaihtoehdot-luokkaa

Parameters:
args - ei käytössä


AanestysLiittyma

demo
Class AanestysLiittyma

java.lang.Object
  extended by demo.AanestysLiittyma

public class AanestysLiittyma
extends java.lang.Object

Luokka äänestyksen käyttöliittymälle

Version:
1.0, 27.02.2003, 1.1, 03.02.2003
Author:
Vesa Lappalainen

Field Summary
private  Vaihtoehdot2 valinnat
           
 
Constructor Summary
AanestysLiittyma(Vaihtoehdot2 valinnat)
          Alustetaan sisäinen data-osoitin
 
Method Summary
 void aanesta(java.lang.String alkuteksti, java.lang.String toteamus)
          Pyöritetaan äänestyssilmukkaa kunnes käyttäjä ei halua enää jatkaa.
static boolean jatketaan()
          Kysytään halutaanko jatkaa suoritusta
static void main(java.lang.String[] args)
          Testataan äänestysliitymää
 void tulostaAanet()
          Tulostetaan äänestyksen tämän hetkinen tilanne
 char tulostaMenuJaOdota()
          Tulostetaan menu ja odotetaan niinkauan kunnes käyttäjä painaa menussa sallittua kirjainta.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

valinnat

private final Vaihtoehdot2 valinnat
Constructor Detail

AanestysLiittyma

public AanestysLiittyma(Vaihtoehdot2 valinnat)
Alustetaan sisäinen data-osoitin

Parameters:
valinnat - data jota käyttöliittymä käyttää
Method Detail

jatketaan

public static boolean jatketaan()
Kysytään halutaanko jatkaa suoritusta

Returns:
jatketaanko (true) vai ei (false)
Example:
   Suuntaaja.StringInput si = new Suuntaaja.StringInput();  
   Suuntaaja.StringOutput so = new Suuntaaja.StringOutput();
     
   si.input("\n");   jatketaan() === true;
   si.input("k\n");  jatketaan() === true;
   si.input("e\n");  jatketaan() === false;
     
   si.palauta(); so.palauta();
 

tulostaAanet

public void tulostaAanet()
Tulostetaan äänestyksen tämän hetkinen tilanne

Example:
   Suuntaaja.StringOutput so = new Suuntaaja.StringOutput();
     
   Vaihtoehdot2 valinnat = new Vaihtoehdot2(10);
   valinnat.lisaa(new Valinta('T',"Tyttö"));
   valinnat.lisaa(new Valinta('P',"Poika"));

   AanestysLiittyma liittyma = new AanestysLiittyma(valinnat);
   liittyma.tulostaAanet();
   String tulos =
     "Tilanne: \n" +
     "Tyttö     : 0\n" +
     "Poika     : 0\n";
  
   so.ero(tulos) === null;
   so.palauta();
 

tulostaMenuJaOdota

public char tulostaMenuJaOdota()
Tulostetaan menu ja odotetaan niinkauan kunnes käyttäjä painaa menussa sallittua kirjainta.

Returns:
käyttäjän painama kirjain.
Example:
   Suuntaaja.StringInput si = new Suuntaaja.StringInput();  
   Suuntaaja.StringOutput so = new Suuntaaja.StringOutput();
     
     
   Vaihtoehdot2 valinnat = new Vaihtoehdot2(10);
   valinnat.lisaa(new Valinta('T',"Tyttö"));
   valinnat.lisaa(new Valinta('P',"Poika"));

   AanestysLiittyma liittyma = new AanestysLiittyma(valinnat);
   si.input("T\n");
   liittyma.tulostaMenuJaOdota() === 'T';
  
   String tulos =
     "  T = Tyttö\n" +
     "  P = Poika\n" +
     "  :";
   so.ero(tulos) === null;
   si.palauta(); so.palauta();
 

aanesta

public void aanesta(java.lang.String alkuteksti,
                    java.lang.String toteamus)
Pyöritetaan äänestyssilmukkaa kunnes käyttäjä ei halua enää jatkaa.

Parameters:
alkuteksti - teksti joka tulostuu ennen menua
toteamus - teksti joka tulostuu "äänestyksen" jälkeen ja jonka perään tulostetaan valittu vaihtoehto.
Example:
   Suuntaaja.StringInput si = new Suuntaaja.StringInput();  
   Suuntaaja.StringOutput so = new Suuntaaja.StringOutput();
     
     
   Vaihtoehdot2 valinnat = new Vaihtoehdot2(10);
   valinnat.lisaa(new Valinta('T',"Tyttö"));
   valinnat.lisaa(new Valinta('P',"Poika"));
   valinnat.lisaa(new Valinta('N',"Nainen"));
   valinnat.lisaa(new Valinta('M',"Mies"));

   AanestysLiittyma liittyma = new AanestysLiittyma(valinnat);
   si.input("t\nk\np\ne\n");
   liittyma.aanesta("Mitä sukupuolta olet","Olet siis");
  
   String tulos =
     "Mitä sukupuolta olet\n" +
     "\n" +
     "Valitse:\n" +
     "  T = Tyttö\n" +
     "  P = Poika\n" +
     "  N = Nainen\n" +
     "  M = Mies\n" +
     "  :\n" +
     "Olet siis Tyttö\n" +
     "Tilanne: \n" +
     "Tyttö     : 1\n" +
     "Poika     : 0\n" +
     "Nainen    : 0\n" +
     "Mies      : 0\n" +
     "Jatketaanko (K/e):\n" +
     "K\n" +
     "Mitä sukupuolta olet\n" +
     "\n" +
     "Valitse:\n" +
     "  T = Tyttö\n" +
     "  P = Poika\n" +
     "  N = Nainen\n" +
     "  M = Mies\n" +
     "  :\n" +
     "Olet siis Poika\n" +
     "Tilanne: \n" +
     "Tyttö     : 1\n" +
     "Poika     : 1\n" +
     "Nainen    : 0\n" +
     "Mies      : 0\n" +
     "Jatketaanko (K/e):\n" +
     "E\n";
   so.ero(tulos) === null;
   si.palauta(); so.palauta();
 

main

public static void main(java.lang.String[] args)
Testataan äänestysliitymää

Parameters:
args -


Alisotk2

demo
Class Alisotk2

java.lang.Object
  extended by demo.Alisotk2

public class Alisotk2
extends java.lang.Object

Mitä ohjelma tulostaa??

Version:
1.0, 19.01.2003
Author:
Vesa Lappalainen

Field Summary
private static java.lang.StringBuffer b
           
private static int c
           
 
Constructor Summary
Alisotk2()
           
 
Method Summary
private static void a2(int a, java.lang.StringBuffer b)
           
private static int i(java.lang.StringBuffer s)
          Palauttaa merkkijonon kokonaislukuna
static void main(java.lang.String[] args)
           
private static void s1(java.lang.StringBuffer a, int b)
           
private static void set(java.lang.StringBuffer s, int i)
          Sijoittaa kokonaisluvun arvon merkkijonoon
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

b

private static java.lang.StringBuffer b

c

private static int c
Constructor Detail

Alisotk2

public Alisotk2()
Method Detail

i

private static int i(java.lang.StringBuffer s)
Palauttaa merkkijonon kokonaislukuna

Parameters:
s - muutettava merkkijono
Returns:
merkkijonosta saatu kokonaisluku

set

private static void set(java.lang.StringBuffer s,
                        int i)
Sijoittaa kokonaisluvun arvon merkkijonoon

Parameters:
s - merkkijono johon tulos sijoitetaan
i - kokonaisluku joka sijoitetaan

s1

private static void s1(java.lang.StringBuffer a,
                       int b)

a2

private static void a2(int a,
                       java.lang.StringBuffer b)

main

public static void main(java.lang.String[] args)
Parameters:
args - ei käytössä


ArrayListMalli

demo
Class ArrayListMalli

java.lang.Object
  extended by demo.ArrayListMalli

public class ArrayListMalli
extends java.lang.Object

Esimerkki Javan ArrayListin käytöstä

Version:
1.0, 02.03.2002, 1.1, 09.03.2002
Author:
Vesa Lappalainen
Example:
 #PACKAGEIMPORT
 #import java.util.ArrayList;
 ArrayList luvut = new ArrayList(7);
 luvut.add(new Int(0)); luvut.add(new Int(2));
 luvut.add(new Int(99));
 luvut.toString()  === "[0, 2, 99]";
 luvut.get(1).set(4);
 luvut.toString()  === "[0, 4, 99]";
 luvut.get(2).intValue() === 99; 
 ;@SuppressWarnings("unchecked") // NOPMD
 ArrayList luvut2 = (ArrayList)luvut.clone();
 luvut.get(1).set(3);
 luvut.add(new Int(44));
 luvut.toString()  === "[0, 3, 99, 44]";
 luvut2.toString() === "[0, 3, 99]"; // ei syväkopio!
 luvut.set(21,new Int(4)); #THROWS IndexOutOfBoundsException
 

Constructor Summary
ArrayListMalli()
           
 
Method Summary
static void main(java.lang.String[] args)
          Testiohjelma taulukosta
static void tulosta(java.io.OutputStream os, java.util.Collection<Int> luvut)
          Tulostetaan luvut tietovirtaan
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ArrayListMalli

public ArrayListMalli()
Method Detail

tulosta

public static void tulosta(java.io.OutputStream os,
                           java.util.Collection<Int> luvut)
Tulostetaan luvut tietovirtaan

Parameters:
os - tietovirta johon tulostetaan
luvut - tulostettavat luvut

main

public static void main(java.lang.String[] args)
Testiohjelma taulukosta

Parameters:
args - ei käytössä


Astia

demo
Class Astia

java.lang.Object
  extended by demo.Astia

public class Astia
extends java.lang.Object

John McLane (Bruce Willis) joutui elokuvassa Die Hard 3 ongelman eteen, jossa piti kahdella vesikanisterilla mitata jonkin muun suuruinen vesimäärä "tarkasti" ja näin estää pommin räjähtäminen. Koska aika meni varsin tiukalle, on vastaavien tilanteiden harjoittelemiseksi nyt tehty uusi menestysohjelma "Astia".
Pelillä demonstroidaan/harjoitellaan miten voidaan kahdella astialla, 5 l ja 8 l, muodostaa kaikki mahdolliset tilavuudet 1-13 l. Pelissä on kaksi varsinaista astiaa: a5 ja a8, sekä kolmas apuastia ampari. Nestettä voidaan kerrallaan kaataa yhdestä astiasta toiseen joko siten, että astian koko sisältö tyhjennetään jos se mahtuu tai astista kaadetaan sen verran että toinen astia tulee täyteen.
Tee ohjelma jota voitasiin käyttää seuraavasti:

  Käytössäsi on 8 ja 5 litran astia ja Ämpäri (100 l)

  8 litran astiassa on 0 litraa
  5 litran astiassa on 0 litraa
  Mistä kaadetaan ja mihin >ä 8[ret]
  8 litran astiassa on 8 litraa
  5 litran astiassa on 0 litraa
  Mistä kaadetaan ja mihin >8 5[ret]
  8 litran astiassa on 3 litraa
  5 litran astiassa on 5 litraa
  Mistä kaadetaan ja mihin >5 ä[ret]
  8 litran astiassa on 3 litraa
  5 litran astiassa on 0 litraa
  Mistä kaadetaan ja mihin >8 5[ret]
  8 litran astiassa on 0 litraa
  5 litran astiassa on 3 litraa
  Mistä kaadetaan ja mihin >[ret]

Version:
1.0, 09.02.2003
Author:
Vesa Lappalainen

Field Summary
private  double maara
           
private  java.lang.String nimi
           
private  double tilavuus
           
 
Constructor Summary
Astia(java.lang.String nimi, double tilavuus)
          Alustaa uuden astian tietyn kokoiseksi ja luonnollisetsi tyhjäksi
 
Method Summary
 double getMaara()
          Palautetaan nsteen määrä astiassa
 java.lang.String getNimi()
          Palautetaan astian nimi
 double getTilavuus()
          Palautetaan astion tilavuus
 double getTyhjaa()
          Palautetaan astiossa olevan vapaan tilan määrä.
 void kaada(Astia astia)
          Kaataa tästä astiasta (this) toiseen astiaan niin paljon kuin toiseen mahtuu tai tästä astiasta on antaa.
 void kaada(double lisa)
          Kaataa astiaan joko lisää tai vähentää, yli ei saa mennä eikä pakkasen puolelle
static void main(java.lang.String[] args)
          Testaan astioita
 boolean oletko(java.lang.String mika)
          Tutkitaan onko astian nimi etsitty
 void tayta()
          Täyttää astian piripintaan asti
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

nimi

private final java.lang.String nimi

tilavuus

private final double tilavuus

maara

private double maara
Constructor Detail

Astia

public Astia(java.lang.String nimi,
             double tilavuus)
Alustaa uuden astian tietyn kokoiseksi ja luonnollisetsi tyhjäksi

Parameters:
nimi - uuden astian nimi
tilavuus - uuden astian tilavuus
Method Detail

tayta

public void tayta()
Täyttää astian piripintaan asti


kaada

public void kaada(double lisa)
Kaataa astiaan joko lisää tai vähentää, yli ei saa mennä eikä pakkasen puolelle

Parameters:
lisa - astiaan laitettava tai otettava nestemäärä
Example:
 Astia astia5l = new Astia("5l",5);
 astia5l.getTyhjaa() ~~~ 5.0;  
 astia5l.kaada(3.0);
 astia5l.getMaara() ~~~ 3.0;    astia5l.getTyhjaa() ~~~ 2.0;  
 astia5l.kaada(3.0);
 astia5l.getMaara() ~~~ 5.0;    astia5l.getTyhjaa() ~~~ 0.0;  
 astia5l.kaada(-2.0);
 astia5l.getMaara() ~~~ 3.0;    astia5l.getTyhjaa() ~~~ 2.0;  
 astia5l.kaada(-2.0);
 astia5l.getMaara() ~~~ 1.0;    astia5l.getTyhjaa() ~~~ 4.0;  
 astia5l.kaada(-2.0);
 astia5l.getMaara() ~~~ 0.0;    astia5l.getTyhjaa() ~~~ 5.0;  
 

kaada

public void kaada(Astia astia)
Kaataa tästä astiasta (this) toiseen astiaan niin paljon kuin toiseen mahtuu tai tästä astiasta on antaa.

Parameters:
astia - astia johon kaadetaan
Example:
 Astia astia5l = new Astia("5l",5);  
 Astia astia8l = new Astia("8l",8);
 Astia ampari  = new Astia("Ämpäri",100);
 ampari.tayta();
 ampari.kaada(astia8l);
 ampari.getMaara()  ~~~ 92.0;
 astia8l.getMaara() ~~~ 8.0;
 astia8l.kaada(astia5l);
 astia5l.getMaara() ~~~ 5.0;  
 astia8l.getMaara() ~~~ 3.0;
 astia5l.kaada(ampari);
 astia5l.getMaara() ~~~ 0.0;  
 astia8l.kaada(astia5l);
 ampari.kaada(astia8l);
 astia8l.kaada(astia5l);
 astia8l.getMaara() ~~~ 6.0;
 astia8l.getTyhjaa() ~~~ 2.0;  
 

getMaara

public double getMaara()
Palautetaan nsteen määrä astiassa

Returns:
nesteen määrä

getTilavuus

public double getTilavuus()
Palautetaan astion tilavuus

Returns:
astian tilavuus

getTyhjaa

public double getTyhjaa()
Palautetaan astiossa olevan vapaan tilan määrä.

Returns:
vapaan tilan määrä.

getNimi

public java.lang.String getNimi()
Palautetaan astian nimi

Returns:
astian nimi

oletko

public boolean oletko(java.lang.String mika)
Tutkitaan onko astian nimi etsitty

Parameters:
mika - verrattava nimi
Returns:
true jos on samat, false muuten
Example:
 Astia ampari  = new Astia("Ämpäri",100);
 ampari.oletko("Ä") === false;
 ampari.oletko("ämpäri") === true;
 ampari.oletko("ÄMPÄRI") === true;
   
 

main

public static void main(java.lang.String[] args)
Testaan astioita

Parameters:
args -


Astia2

demo
Class Astia2

java.lang.Object
  extended by demo.Astia2

public class Astia2
extends java.lang.Object

John McLane (Bruce Willis) joutui elokuvassa Die Hard 3 ongelman eteen, jossa piti kahdella vesikanisterilla mitata jonkin muun suuruinen vesimäärä "tarkasti" ja näin estää pommin räjähtäminen. Koska aika meni varsin tiukalle, on vastaavien tilanteiden harjoittelemiseksi nyt tehty uusi menestysohjelma "Astia".
Pelillä demonstroidaan/harjoitellaan miten voidaan kahdella astialla, 5 l ja 8 l, muodostaa kaikki mahdolliset tilavuudet 1-13 l. Pelissä on kaksi varsinaista astiaa: a5 ja a8, sekä kolmas apuastia ampari. Nestettä voidaan kerrallaan kaataa yhdestä astiasta toiseen joko siten, että astian koko sisältö tyhjennetään jos se mahtuu tai astista kaadetaan sen verran että toinen astia tulee täyteen.
Tee ohjelma jota voitasiin käyttää seuraavasti:

  Käytössäsi on 8 ja 5 litran astia ja Ämpäri (100 l)

  8 litran astiassa on 0 litraa
  5 litran astiassa on 0 litraa
  Mistä kaadetaan ja mihin >ä 8[ret]
  8 litran astiassa on 8 litraa
  5 litran astiassa on 0 litraa
  Mistä kaadetaan ja mihin >8 5[ret]
  8 litran astiassa on 3 litraa
  5 litran astiassa on 5 litraa
  Mistä kaadetaan ja mihin >5 ä[ret]
  8 litran astiassa on 3 litraa
  5 litran astiassa on 0 litraa
  Mistä kaadetaan ja mihin >8 5[ret]
  8 litran astiassa on 0 litraa
  5 litran astiassa on 3 litraa
  Mistä kaadetaan ja mihin >[ret]

Version:
1.0, 09.02.2003
Author:
Vesa Lappalainen

Constructor Summary
Astia2()
           
 
Method Summary
static int etsi(Astia[] astiat, java.lang.String nimi)
          Etsii sen astian, jolla on annettu nimi.
static void main(java.lang.String[] args)
          Testataan Astia2-luokkaa
static void nimiOhje(Astia[] astiat, java.lang.String mista, java.lang.String mihin)
          Tulostaa ohjeet astioiden nimistä.
static void tulostaOhje(Astia[] astiat)
          Tulostaa tiedot asioista
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

Astia2

public Astia2()
Method Detail

tulostaOhje

public static void tulostaOhje(Astia[] astiat)
Tulostaa tiedot asioista

Parameters:
astiat - taulukko josta tulostetaan
Example:
  Suuntaaja.StringOutput so = new Suuntaaja.StringOutput();
  Astia astiat[] = { new Astia("ä",100), new Astia("5",5), new Astia("8",8) };
  tulostaOhje(astiat);
  so.ero("Käytössäsi on 5.0 sekä 8.0 litran astiat ja Ämpari (100.0 l)\n") === null;
  so.palauta();
 

etsi

public static int etsi(Astia[] astiat,
                       java.lang.String nimi)
Etsii sen astian, jolla on annettu nimi.

Parameters:
astiat - taulukko astoista, joista etsitään
nimi - etsittävän astian nimi
Returns:
astian indeksi taulukossa tai -1 jos ei löydy
Example:
  Astia astiat[] = { new Astia("ä",100), new Astia("5",5), new Astia("8",8) };
  etsi(astiat,"ä") === 0;
  etsi(astiat,"Ä") === 0;
  etsi(astiat,"5") === 1;
  etsi(astiat,"8") === 2;
  etsi(astiat,"9") === -1;
 

nimiOhje

public static void nimiOhje(Astia[] astiat,
                            java.lang.String mista,
                            java.lang.String mihin)
Tulostaa ohjeet astioiden nimistä.

Parameters:
astiat - tulostettava tunnetuujen astioiden taulukko
mista - mistä yritettiin kaataa
mihin - mihin yritettiin kaataa
Example:
  Suuntaaja.StringOutput so = new Suuntaaja.StringOutput();
  Astia astiat[] = { new Astia("ä",100), new Astia("5",5), new Astia("8",8) };
  nimiOhje(astiat,"4","6");
  String tulos = "Nimeä ei tunneta: 4 tai 6\n" +
                 "Tunnetaan nimet: \n"         +
                 "ä 5 8 \n";
  so.ero(tulos) === null;             
  so.palauta();
 

main

public static void main(java.lang.String[] args)
Testataan Astia2-luokkaa

Parameters:
args - ei käytössä
Example:
 Suuntaaja.StringInput si = new Suuntaaja.StringInput();  
 Suuntaaja.StringOutput so = new Suuntaaja.StringOutput();
 
 si.input("ä 8\n8 5\n4 5\n\n");  
 main(null);
 String tulos =
   "Käytössäsi on 5.0 sekä 8.0 litran astiat ja Ämpari (100.0 l)\n"+
   "5.0 litran astiassa on 0.0 litraa nestettä\n" +
   "8.0 litran astiassa on 0.0 litraa nestettä\n" +
   "Mistä kaadetaan ja mihin >"                   + // NOPMD
   "5.0 litran astiassa on 0.0 litraa nestettä\n" +
   "8.0 litran astiassa on 8.0 litraa nestettä\n" +
   "Mistä kaadetaan ja mihin >"                   +
   "5.0 litran astiassa on 5.0 litraa nestettä\n" +
   "8.0 litran astiassa on 3.0 litraa nestettä\n" +
   "Mistä kaadetaan ja mihin >"                   +
   "Nimeä ei tunneta: 4 tai 5\n"                  +
   "Tunnetaan nimet: \n"                          + 
   "ä 5 8 \n"                                     +
   "5.0 litran astiassa on 5.0 litraa nestettä\n" +
   "8.0 litran astiassa on 3.0 litraa nestettä\n" +
   "Mistä kaadetaan ja mihin >";
 
 so.ero(tulos) === null; 
 si.palauta(); so.palauta();
 


AstiaPeli

demo
Class AstiaPeli

java.lang.Object
  extended by demo.AstiaPeli
Direct Known Subclasses:
AstiaPeli2

public class AstiaPeli
extends java.lang.Object

John McLane (Bruce Willis) joutui elokuvassa Die Hard 3 ongelman eteen, jossa piti kahdella vesikanisterilla mitata jonkin muun suuruinen vesimäärä "tarkasti" ja näin estää pommin räjähtäminen. Koska aika meni varsin tiukalle, on vastaavien tilanteiden harjoittelemiseksi nyt tehty uusi menestysohjelma "Astia".
Pelillä demonstroidaan/harjoitellaan miten voidaan kahdella astialla, 5 l ja 8 l, muodostaa kaikki mahdolliset tilavuudet 1-13 l. Pelissä on kaksi varsinaista astiaa: a5 ja a8, sekä kolmas apuastia ampari. Nestettä voidaan kerrallaan kaataa yhdestä astiasta toiseen joko siten, että astian koko sisältö tyhjennetään jos se mahtuu tai astista kaadetaan sen verran että toinen astia tulee täyteen.
Tee ohjelma jota voitasiin käyttää seuraavasti:

  Käytössäsi on 8 ja 5 litran astia ja Ämpäri (100 l)

  8 litran astiassa on 0 litraa
  5 litran astiassa on 0 litraa
  Mistä kaadetaan ja mihin >ä 8[ret]
  8 litran astiassa on 8 litraa
  5 litran astiassa on 0 litraa
  Mistä kaadetaan ja mihin >8 5[ret]
  8 litran astiassa on 3 litraa
  5 litran astiassa on 5 litraa
  Mistä kaadetaan ja mihin >5 ä[ret]
  8 litran astiassa on 3 litraa
  5 litran astiassa on 0 litraa
  Mistä kaadetaan ja mihin >8 5[ret]
  8 litran astiassa on 0 litraa
  5 litran astiassa on 3 litraa
  Mistä kaadetaan ja mihin >[ret]
Toteutettu peli-luokaksi, jossa käytetään hyväksi Astia2-luokkaa.

Version:
1.0, 09.02.2003, 1.1, 14.02.2003
Author:
Vesa Lappalainen

Field Summary
protected  Astia[] astiat
          Taulukko astioista
private  int lkm
           
private static int MAXLKM
           
 
Constructor Summary
AstiaPeli()
          Astiapelin alustus.
 
Method Summary
 int etsi(java.lang.String nimi)
          Etsii sen astian, jolla on annettu nimi.
 int getLkm()
          Palautetaan astioiden lukumäärä pelissä
 void lisaaAstia(java.lang.String nimi, double tilavuus)
          Lisätään uusi astia peliin.
static void main(java.lang.String[] args)
          Astiapelin pääohjelma
 void nimiOhje(java.lang.String mista, java.lang.String mihin)
          Tulostetaan ohjeet nimistä.
 void pelaa()
          Käynistetään peli.
 void tulostaMaarat()
          Tulostetaan astioissa olevat nestemäärät
 void tulostaOhje()
          Tulostetaan pelin ohje
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

MAXLKM

private static final int MAXLKM
See Also:
Constant Field Values

astiat

protected Astia[] astiat
Taulukko astioista


lkm

private int lkm
Constructor Detail

AstiaPeli

public AstiaPeli()
Astiapelin alustus. Laitetaan aina ämpäri mukaan.

Method Detail

getLkm

public int getLkm()
Palautetaan astioiden lukumäärä pelissä

Returns:
astioiden lukumäärä

lisaaAstia

public final void lisaaAstia(java.lang.String nimi,
                             double tilavuus)
Lisätään uusi astia peliin. Luodaan tätä varten uusi astia.

Parameters:
nimi - lisättävän astian nimi
tilavuus - lisättävän astian tilavuus
Example:
  AstiaPeli peli = new AstiaPeli();
  peli.getLkm() === 1;
  peli.lisaaAstia("5",5);
  peli.getLkm() === 2;
  peli.lisaaAstia("8",8);
  peli.getLkm() === 3;
 

tulostaOhje

public void tulostaOhje()
Tulostetaan pelin ohje

Example:
  Suuntaaja.StringOutput so = new Suuntaaja.StringOutput();
  AstiaPeli peli = new AstiaPeli();  peli.lisaaAstia("5",5);  peli.lisaaAstia("8",8);
  peli.tulostaOhje();
  so.ero("Käytössäsi on 5.0 sekä 8.0 litran astiat ja Ämpari (100.0 l)\n") === null;
  so.palauta();
 

tulostaMaarat

public void tulostaMaarat()
Tulostetaan astioissa olevat nestemäärät


etsi

public int etsi(java.lang.String nimi)
Etsii sen astian, jolla on annettu nimi.

Parameters:
nimi - etsittävän astian nimi
Returns:
astian indeksi taulukossa tai -1 jos ei löydy
Example:
 
  AstiaPeli peli = new AstiaPeli();  peli.lisaaAstia("5",5);  peli.lisaaAstia("8",8);
  peli.etsi("ä") === 0;
  peli.etsi("Ä") === 0;
  peli.etsi("5") === 1;
  peli.etsi("8") === 2;
  peli.etsi("9") === -1;
 

nimiOhje

public void nimiOhje(java.lang.String mista,
                     java.lang.String mihin)
Tulostetaan ohjeet nimistä.

Parameters:
mista - mistä yritettiin
mihin - mihin yritettiin
Example:
  Suuntaaja.StringOutput so = new Suuntaaja.StringOutput();
  AstiaPeli peli = new AstiaPeli(); peli.lisaaAstia("5",5); peli.lisaaAstia("8",8);
  peli.nimiOhje("4","6");
  String tulos = "Nimeä ei tunneta: 4 tai 6\n" +
                 "Tunnetaan nimet: \n"         +
                 "ä 5 8 \n";
  so.ero(tulos) === null;             
  so.palauta();
 

pelaa

public void pelaa()
Käynistetään peli. Peli loppuu kun käyttäjä syöttää tyhjän rivin.

Example:
 Suuntaaja.StringInput si = new Suuntaaja.StringInput();  
 Suuntaaja.StringOutput so = new Suuntaaja.StringOutput();
 
 si.input("ä 8\n8 5\n4 5\n\n");  
 String tulos =
   "Käytössäsi on 5.0 sekä 8.0 litran astiat ja Ämpari (100.0 l)\n"+
   "5.0 litran astiassa on 0.0 litraa nestettä\n" +
   "8.0 litran astiassa on 0.0 litraa nestettä\n" +
   "Mistä kaadetaan ja mihin >"                   + // NOPMD
   "5.0 litran astiassa on 0.0 litraa nestettä\n" +
   "8.0 litran astiassa on 8.0 litraa nestettä\n" +
   "Mistä kaadetaan ja mihin >"                   +
   "5.0 litran astiassa on 5.0 litraa nestettä\n" +
   "8.0 litran astiassa on 3.0 litraa nestettä\n" +
   "Mistä kaadetaan ja mihin >"                   +
   "Nimeä ei tunneta: 4 tai 5\n"                  +
   "Tunnetaan nimet: \n"                          + 
   "ä 5 8 \n"                                     +
   "5.0 litran astiassa on 5.0 litraa nestettä\n" +
   "8.0 litran astiassa on 3.0 litraa nestettä\n" +
   "Mistä kaadetaan ja mihin >";
 
   AstiaPeli peli = new AstiaPeli();
   peli.lisaaAstia("5",5);
   peli.lisaaAstia("8",8);
   peli.tulostaOhje();
   peli.pelaa();
 
 so.ero(tulos) === null; 
 si.palauta(); so.palauta();
 

main

public static void main(java.lang.String[] args)
Astiapelin pääohjelma

Parameters:
args - ei käytössä


AstiaPeli2

demo
Class AstiaPeli2

java.lang.Object
  extended by demo.AstiaPeli
      extended by demo.AstiaPeli2

public class AstiaPeli2
extends AstiaPeli

John McLane (Bruce Willis) joutui elokuvassa Die Hard 3 ongelman eteen, jossa piti kahdella vesikanisterilla mitata jonkin muun suuruinen vesimäärä "tarkasti" ja näin estää pommin räjähtäminen. Koska aika meni varsin tiukalle, on vastaavien tilanteiden harjoittelemiseksi nyt tehty uusi menestysohjelma "Astia".
Pelillä demonstroidaan/harjoitellaan miten voidaan kahdella astialla, 5 l ja 8 l, muodostaa kaikki mahdolliset tilavuudet 1-13 l. Pelissä on kaksi varsinaista astiaa: a5 ja a8, sekä kolmas apuastia ampari. Nestettä voidaan kerrallaan kaataa yhdestä astiasta toiseen joko siten, että astian koko sisältö tyhjennetään jos se mahtuu tai astista kaadetaan sen verran että toinen astia tulee täyteen.
Tee ohjelma jota voitasiin käyttää seuraavasti:

  Käytössäsi on 8 ja 5 litran astia ja Ämpäri (100 l)

  8 litran astiassa on 0 litraa
  5 litran astiassa on 0 litraa
  Mistä kaadetaan ja mihin >ä 8[ret]
  8 litran astiassa on 8 litraa
  5 litran astiassa on 0 litraa
  Mistä kaadetaan ja mihin >8 5[ret]
  8 litran astiassa on 3 litraa
  5 litran astiassa on 5 litraa
  Mistä kaadetaan ja mihin >5 ä[ret]
  8 litran astiassa on 3 litraa
  5 litran astiassa on 0 litraa
  Mistä kaadetaan ja mihin >8 5[ret]
  8 litran astiassa on 0 litraa
  5 litran astiassa on 3 litraa
  Mistä kaadetaan ja mihin >[ret]
Toteutettu peli-luokaksi, jossa käytetään hyväksi Astia2-luokkaa. Tarkistaa myös pelin aikana löydetyt kombinaatiot

Version:
1.0, 09.02.2003, 1.1, 14.02.2003, 1.2, 15.02.2003
Author:
Vesa Lappalainen

Field Summary
private  Esiintymat esiintymat
           
 
Fields inherited from class demo.AstiaPeli
astiat
 
Constructor Summary
AstiaPeli2()
           
 
Method Summary
 double astioidenSumma()
          Laskee kaikkien käytössä olevien astioiden yhteistilavuuden
 void lisaaEsiintymat()
          Lisää esiintymat-taulukkoon kaikki ne astioiden summakombinaatiot, joita niistä saa tällä hetkellä.
static void main(java.lang.String[] args)
          Testataan astiapeliä
 void pelaa()
          Käynistetään peli.
 boolean tulostaEsiintymat()
          Tulostaa löytämistilanteen
 
Methods inherited from class demo.AstiaPeli
etsi, getLkm, lisaaAstia, nimiOhje, tulostaMaarat, tulostaOhje
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

esiintymat

private Esiintymat esiintymat
Constructor Detail

AstiaPeli2

public AstiaPeli2()
Method Detail

pelaa

public void pelaa()
Käynistetään peli. Peli loppuu kun käyttäjä syöttää tyhjän rivin.

Overrides:
pelaa in class AstiaPeli
Example:
 Suuntaaja.StringInput si = new Suuntaaja.StringInput();  
 Suuntaaja.StringOutput so = new Suuntaaja.StringOutput();
 
 si.input("ä 8\n8 5\n4 5\n\n");  
 String tulos =
   "Käytössäsi on 5.0 sekä 8.0 litran astiat ja Ämpari (100.0 l)\n"+
   "5.0 litran astiassa on 0.0 litraa nestettä\n"       +
   "8.0 litran astiassa on 0.0 litraa nestettä\n"       +
   "Olet ratkaissut tilavuudet: \n"                     +
   "Ratkaisematta on: 1 2 3 4 5 6 7 8 9 10 11 12 13 \n" +  
   "Mistä kaadetaan ja mihin >"                         + // NOPMD
   "5.0 litran astiassa on 0.0 litraa nestettä\n"       +
   "8.0 litran astiassa on 8.0 litraa nestettä\n"       +
   "Olet ratkaissut tilavuudet: 8 \n"                   +
   "Ratkaisematta on: 1 2 3 4 5 6 7 9 10 11 12 13 \n"   +  
   "Mistä kaadetaan ja mihin >"                         +
   "5.0 litran astiassa on 5.0 litraa nestettä\n"       +
   "8.0 litran astiassa on 3.0 litraa nestettä\n"       +
   "Olet ratkaissut tilavuudet: 3 5 8 \n"               +
   "Ratkaisematta on: 1 2 4 6 7 9 10 11 12 13 \n"       +  
   "Mistä kaadetaan ja mihin >"                         +
   "Nimeä ei tunneta: 4 tai 5\n"                        +
   "Tunnetaan nimet: \n"                                + 
   "ä 5 8 \n"                                           +
   "5.0 litran astiassa on 5.0 litraa nestettä\n"       +
   "8.0 litran astiassa on 3.0 litraa nestettä\n"       +
   "Olet ratkaissut tilavuudet: 3 5 8 \n"               +
   "Ratkaisematta on: 1 2 4 6 7 9 10 11 12 13 \n"       +  
   "Mistä kaadetaan ja mihin >";
 
   AstiaPeli2 peli = new AstiaPeli2();
   peli.lisaaAstia("5",5);
   peli.lisaaAstia("8",8);
   peli.tulostaOhje();
   peli.pelaa();
 
 so.ero(tulos) === null; 
 si.palauta(); so.palauta();
 

astioidenSumma

public double astioidenSumma()
Laskee kaikkien käytössä olevien astioiden yhteistilavuuden

Returns:
yhteistilavuus

lisaaEsiintymat

public void lisaaEsiintymat()
Lisää esiintymat-taulukkoon kaikki ne astioiden summakombinaatiot, joita niistä saa tällä hetkellä.


tulostaEsiintymat

public boolean tulostaEsiintymat()
Tulostaa löytämistilanteen

Returns:
joka jokaista määrää on löydetty

main

public static void main(java.lang.String[] args)
Testataan astiapeliä

Parameters:
args - ei käytössä


Demopisteet

demo
Class Demopisteet

java.lang.Object
  extended by demo.Demopisteet

public class Demopisteet
extends java.lang.Object

Ohjelmalla lasketaan demopisteet

Version:
1.0, 07.02.2003
Author:
Vesa Lappalainen

Constructor Summary
Demopisteet()
           
 
Method Summary
static int demopisteet(int[][] pistetaulu, int tehtyja, int demoja)
          Lasketaan paljonko tehtya määrällä saa demopisteitä
static void main(java.lang.String[] args)
          Testataan demoprosentteja
static int prosentit(int n, int m)
          Funktiolla lasketaan monta prosenttia n on m:stä
private static void testaa(int[][] pistetaulu, int tehtyja, int demoja)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

Demopisteet

public Demopisteet()
Method Detail

prosentit

public static int prosentit(int n,
                            int m)
Funktiolla lasketaan monta prosenttia n on m:stä

Parameters:
n - tutkittavien määrä
m - kokonaismäärä
Returns:
n/m * 100
Example:
 prosentit(1,0)    === 100;
 prosentit(0,50)   === 0;
 prosentit(10,50)  === 20;
 prosentit(40,50)  === 80;
 prosentit(50,50)  === 100;
 prosentit(150,50) === 300;
 

demopisteet

public static int demopisteet(int[][] pistetaulu,
                              int tehtyja,
                              int demoja)
Lasketaan paljonko tehtya määrällä saa demopisteitä

Parameters:
pistetaulu - demojen hyvitystaulukko 0-rivillä prosentit, 1-rivillä hyvitys
tehtyja - tehtyjen demojen määrä
demoja - paljonko demoja voisi olla maksimissaan
Returns:
tehtyjen prosenttimäärän mukaan tauukosta vastaava hyvitys
Example:
  int pistetaulu[][] = {
    { 40, 50, 60, 70, 80 ,90 },
    {  1,  2,  3,  4,  5,  6 }
  };
  demopisteet(pistetaulu,$tehtyja,100) === $pisteita;
  
    $tehtyja | $pisteita
   ----------------------
       0     |   0
      39     |   0
      40     |   1
      49     |   1
      50     |   2  
      59     |   2  
      60     |   3  
      69     |   3  
      70     |   4  
      79     |   4  
      80     |   5  
      89     |   5  
      90     |   6  
     110     |   6  
  
 

testaa

private static void testaa(int[][] pistetaulu,
                           int tehtyja,
                           int demoja)

main

public static void main(java.lang.String[] args)
Testataan demoprosentteja

Parameters:
args - ei käytössä


Ehdokas

demo
Class Ehdokas

java.lang.Object
  extended by demo.Ehdokas
All Implemented Interfaces:
java.lang.Comparable<Ehdokas>

public class Ehdokas
extends java.lang.Object
implements java.lang.Comparable<Ehdokas>

Luokka vaalien ehdokkaalle, joka voi ostaa ääniä.

Version:
1.0, 09.03.2003
Author:
Vesa Lappalainen

Field Summary
private  int aania
           
private  double rahaa
           
 
Constructor Summary
Ehdokas(double rahaa, int aania)
          Ehdokakaa alustaminen
 
Method Summary
 int compareTo(Ehdokas ehd)
          Verrataan ehdokkaan äänimäärää toisen äänimäärään
static void main(java.lang.String[] args)
          Testataan Ehdokas-luokaka
 boolean osta(int lkm, double hinta)
          Ehdokas ostaa ääniä jos hänellä raha riittää.
 java.lang.String toString()
           
 void tulosta()
          >Tulostetaan ehdokas näyttöön
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

rahaa

private double rahaa

aania

private int aania
Constructor Detail

Ehdokas

public Ehdokas(double rahaa,
               int aania)
Ehdokakaa alustaminen

Parameters:
rahaa - ehdokkaan rahamäärä alussa
aania - ehdokkaan äänimäärä alussa
Method Detail

toString

public java.lang.String toString()
Overrides:
toString in class java.lang.Object
Returns:
Ehdokkaan tiedot merkkijonona

tulosta

public void tulosta()
>Tulostetaan ehdokas näyttöön


osta

public boolean osta(int lkm,
                    double hinta)
Ehdokas ostaa ääniä jos hänellä raha riittää.

Parameters:
lkm - äänimäärä joka koitetaan ostaa
hinta - äänen kappalehinta
Returns:
onnistuiko ostaminen
Example:
 Ehdokas ehd1 = new Ehdokas(100000.0,0);
 ehd1.toString() === "Rahaa 100000.0, ääniä 0";
 ehd1.osta(200,100.0) === true;   // Ostetaan sopivasti 
 ehd1.toString() === "Rahaa 80000.0, ääniä 200";  
 ehd1.osta(200,1000.0) === false; // Ostetaan liian kallista
 ehd1.toString() === "Rahaa 80000.0, ääniä 200";  
 ehd1.osta(-200,100.0) === true;  // Myydään äänet pois
 ehd1.toString() === "Rahaa 100000.0, ääniä 0";
 ehd1.osta(-200,100.0) === false; // Ei voi enää myydä
 ehd1.toString() === "Rahaa 100000.0, ääniä 0";
 ehd1.osta(200,100.0) === true;   // Ostetaan sopivasti 
 ehd1.osta(-300,100.0) === false; // Ei voi myydä näin paljoa
 

compareTo

public int compareTo(Ehdokas ehd)
Verrataan ehdokkaan äänimäärää toisen äänimäärään

Specified by:
compareTo in interface java.lang.Comparable<Ehdokas>
Parameters:
ehd - verrattava ehdokas
Returns:
<0 jos hävitään, 0 jos tasapeli ja >0 jos voitetaan
Example:
 Ehdokas ehd1 = new Ehdokas(100000.0,0),ehd2 = new Ehdokas(20000.0,300);
 ehd1.compareTo(ehd2) <  0 === true;
 ehd2.compareTo(ehd1) >  0 === true;
 ehd1.osta(300,10);
 ehd2.compareTo(ehd1) == 0 === true;
 

main

public static void main(java.lang.String[] args)
Testataan Ehdokas-luokaka

Parameters:
args - ei käytössä


EhdTulostus

demo
Class EhdTulostus

java.lang.Object
  extended by demo.EhdTulostus

public class EhdTulostus
extends java.lang.Object

Ohjelmalla tulostetaan tiedostosta ne rivit, jotka alkavat '**'

Version:
1.0, 15.03.2003
Author:
Vesa Lappalainen

Field Summary
private static java.lang.String alku
           
 
Constructor Summary
EhdTulostus()
           
 
Method Summary
static void main(java.lang.String[] args)
          Tulostetaan tiedostosta ne rivit jotka alkavat tietyllä jonolla
static void ohjeet()
          Tulostetaan ohjelman käyttöohjeet
static void tulosta(java.lang.String s)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

alku

private static final java.lang.String alku
See Also:
Constant Field Values
Constructor Detail

EhdTulostus

public EhdTulostus()
Method Detail

tulosta

public static void tulosta(java.lang.String s)
Parameters:
s - Tulostettava merkkijono

ohjeet

public static void ohjeet()
Tulostetaan ohjelman käyttöohjeet


main

public static void main(java.lang.String[] args)
                 throws java.io.IOException
Tulostetaan tiedostosta ne rivit jotka alkavat tietyllä jonolla

Parameters:
args - ei käytössä
Throws:
java.io.IOException - jos jokin menee pieleen
Example:
 #THROWS IOException
 #CLASSIMPORT
 #import fi.jyu.mit.ohj2.Suuntaaja;
 #import fi.jyu.mit.ohj2.VertaaTiedosto;
 #import java.io.*;
 Suuntaaja.StringInput si = new Suuntaaja.StringInput();  
 Suuntaaja.StringOutput so = new Suuntaaja.StringOutput();
 VertaaTiedosto.kirjoitaTiedosto("koe.txt",
   "/ * tämä ei saa tulostua!\n" +
   "*** tämä saa tulostua!\n" +
   "    tämä ei tulostu\n" +
   "**  tämä on 2. tulostuva rivi\n" +
   "*   tämä ei tietenkään tulostu\n" +
   "    eikä tämäkään ****************\n" +
   "****tämäpäs tulostuu * /");
   
 si.input("koe.txt\n");  
 EhdTulostus.main(null);
 
 String tulostus = "\n" +
   "Tämä ohjelma tulostaa halutun tiedoston kaikki\n" +
   "'**'-alkuiset rivit\n" +
   "Anna tiedoston nimi (demo/EhdTulostus.java) >\n" +   
   "*** tämä saa tulostua!\n"        +
   "**  tämä on 2. tulostuva rivi\n" +
   "****tämäpäs tulostuu * /\n"; 
 so.ero(tulostus) === null;   
 so.palauta();   
 si.palauta();
 VertaaTiedosto.tuhoaTiedosto("koe.txt");
 


Elain

demo
Class Elain

java.lang.Object
  extended by demo.Elain
Direct Known Subclasses:
Elain.Kissa, Elain.Koira, Elain.Kotka

public class Elain
extends java.lang.Object

Elain-luokka. Kantaluokka eläimille. Laiskuuksissaan kaikki samaan tiedostoon.

Version:
1.0, 06.02.2003
Author:
Vesa Lappalainen
Example:
 #import fi.jyu.mit.ohj2.Suuntaaja;
 #STATICIMPORT
 #CLASSIMPORT
 
    Elain elukat[] = {
      new Koira("Musti",18005),
      new Kissa("Mirri",18000),
      new Koira("Pluto",1930),
      new Kissa("Miuku",980),
      new Kotka("Kalle",2400)
    };
    
    Suuntaaja.StringOutput so = new Suuntaaja.StringOutput();
    String tulos = "Hau hau\n"
                 + "Olen: Musti painan: 18005.0 grammaa\n"
                 + "Miauu\n"
                 + "Olen: Mirri painan: 18000.0 grammaa\n"
                 + "Hau hau\n"
                 + "Olen: Pluto painan: 1930.0 grammaa\n"
                 + "Miauu\n"
                 + "Olen: Miuku painan: 980.0 grammaa\n"
                 + "Kriik kriik\n"
                 + "Olen: Kalle painan: 2400.0 grammaa\n";
    
    for (int i=0; i

Nested Class Summary
static class Elain.Kissa
          Kissa-luokka jossa on oma ääntele-metodi
static class Elain.Koira
          Koira-luokka jossa on oma ääntele-metodi
static class Elain.Kotka
          Kotka-luokka jossa on oma ääntele-metodi
 
Field Summary
private  java.lang.String nimi
           
private  double paino
           
 
Constructor Summary
Elain(java.lang.String nimi, double paino)
          Alustetaan eläimen tiedot
 
Method Summary
 void aantele()
          Peruseläin ei osaa äänellä kunnolla
 void tulosta()
          Peruseläinkin osaa tulostaa itsensä
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

nimi

private final java.lang.String nimi

paino

private final double paino
Constructor Detail

Elain

public Elain(java.lang.String nimi,
             double paino)
Alustetaan eläimen tiedot

Parameters:
nimi - eläimen nimi
paino - eläimen paino
Method Detail

aantele

public void aantele()
Peruseläin ei osaa äänellä kunnolla


tulosta

public void tulosta()
Peruseläinkin osaa tulostaa itsensä



Elain.Kissa

demo
Class Elain.Kissa

java.lang.Object
  extended by demo.Elain
      extended by demo.Elain.Kissa
Enclosing class:
Elain

public static class Elain.Kissa
extends Elain

Kissa-luokka jossa on oma ääntele-metodi

Author:
vesal

Nested Class Summary
 
Nested classes/interfaces inherited from class demo.Elain
Elain.Kissa, Elain.Koira, Elain.Kotka
 
Constructor Summary
Elain.Kissa(java.lang.String nimi, double paino)
          Alustetaan kissa
 
Method Summary
 void aantele()
          Kissa ääntelee sanomalla Miauu
 
Methods inherited from class demo.Elain
tulosta
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

Elain.Kissa

public Elain.Kissa(java.lang.String nimi,
                   double paino)
Alustetaan kissa

Parameters:
nimi - kissan nimi
paino - kissan paino
Method Detail

aantele

public void aantele()
Kissa ääntelee sanomalla Miauu

Overrides:
aantele in class Elain


Elain.Koira

demo
Class Elain.Koira

java.lang.Object
  extended by demo.Elain
      extended by demo.Elain.Koira
Enclosing class:
Elain

public static class Elain.Koira
extends Elain

Koira-luokka jossa on oma ääntele-metodi

Author:
vesal

Nested Class Summary
 
Nested classes/interfaces inherited from class demo.Elain
Elain.Kissa, Elain.Koira, Elain.Kotka
 
Constructor Summary
Elain.Koira(java.lang.String nimi, double paino)
          Alustetaan koira
 
Method Summary
 void aantele()
          Koira ääntelee sanomalla Hau Hau
 
Methods inherited from class demo.Elain
tulosta
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

Elain.Koira

public Elain.Koira(java.lang.String nimi,
                   double paino)
Alustetaan koira

Parameters:
nimi - koiran nimi
paino - oiran paino
Method Detail

aantele

public void aantele()
Koira ääntelee sanomalla Hau Hau

Overrides:
aantele in class Elain


Elain.Kotka

demo
Class Elain.Kotka

java.lang.Object
  extended by demo.Elain
      extended by demo.Elain.Kotka
Enclosing class:
Elain

public static class Elain.Kotka
extends Elain

Kotka-luokka jossa on oma ääntele-metodi

Author:
vesal

Nested Class Summary
 
Nested classes/interfaces inherited from class demo.Elain
Elain.Kissa, Elain.Koira, Elain.Kotka
 
Constructor Summary
Elain.Kotka(java.lang.String nimi, double paino)
          Alustetaan kotka
 
Method Summary
 void aantele()
          Kotka ääntelee sanomalla Kriik kriik
 
Methods inherited from class demo.Elain
tulosta
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

Elain.Kotka

public Elain.Kotka(java.lang.String nimi,
                   double paino)
Alustetaan kotka

Parameters:
nimi - kotkan nimi
paino - kotkan paino
Method Detail

aantele

public void aantele()
Kotka ääntelee sanomalla Kriik kriik

Overrides:
aantele in class Elain


Elukat.ElainRajapinta

demo
Interface Elukat.ElainRajapinta

All Known Implementing Classes:
Elukat.Kissa, Elukat.Koira, Elukat.Kotka
Enclosing class:
Elukat

public static interface Elukat.ElainRajapinta

Rajapinta eläimiä varten


Method Summary
 void aantele()
          Jokaisen eläimen on osattava äännellä.
 void tulosta()
          Jokainen eläin osaa tulostaa itsensä.
 

Method Detail

aantele

void aantele()
Jokaisen eläimen on osattava äännellä.


tulosta

void tulosta()
Jokainen eläin osaa tulostaa itsensä.



Elukat

demo
Class Elukat

java.lang.Object
  extended by demo.Elukat

public class Elukat
extends java.lang.Object

Elukat rajapinnan avulla Elukat-luokka joka esittää eri eläimiä

Version:
1.0, 14.02.2003
Author:
Vesa Lappalainen
Example:
 #import fi.jyu.mit.ohj2.Suuntaaja;
 #STATICIMPORT
 
    ElainRajapinta elukat[] = {
      new Koira("Musti",18005),
      new Kissa("Mirri",18000),
      new Koira("Pluto",1930),
      new Kissa("Miuku",980),
      new Kotka("Kalle",2400)
    };
    
    Suuntaaja.StringOutput so = new Suuntaaja.StringOutput();
    String tulos = "Hau hau\n"
                 + "Olen: Musti painan: 18005.0 grammaa\n"
                 + "Miauu\n"
                 + "Olen: Mirri painan: 18000.0 grammaa\n"
                 + "Hau hau\n"
                 + "Olen: Pluto painan: 1930.0 grammaa\n"
                 + "Miauu\n"
                 + "Olen: Miuku painan: 980.0 grammaa\n"
                 + "Kriik kriik\n"
                 + "Olen: Kalle painan: 2400.0 grammaa\n";
    
    for (int i=0; i

Nested Class Summary
static interface Elukat.ElainRajapinta
          Rajapinta eläimiä varten
static class Elukat.Kissa
          Kissa-luokka jossa on oma ääntele-metodi
static class Elukat.Koira
          Koira-luokka jossa on oma ääntele-metodi
static class Elukat.Kotka
          Kotka-luokka jossa on oma ääntele-metodi
 
Constructor Summary
Elukat()
           
 
Method Summary
static void main(java.lang.String[] args)
          Pääohjelma joka luo taulukollisen eläimiä ja pyytää niitä ääntelemään.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

Elukat

public Elukat()
Method Detail

main

public static void main(java.lang.String[] args)
Pääohjelma joka luo taulukollisen eläimiä ja pyytää niitä ääntelemään.

Parameters:
args -


Elukat.Kissa

demo
Class Elukat.Kissa

java.lang.Object
  extended by demo.Elukat.Kissa
All Implemented Interfaces:
Elukat.ElainRajapinta
Enclosing class:
Elukat

public static class Elukat.Kissa
extends java.lang.Object
implements Elukat.ElainRajapinta

Kissa-luokka jossa on oma ääntele-metodi

Author:
vesal

Field Summary
private  java.lang.String nimi
           
private  double paino
           
 
Constructor Summary
Elukat.Kissa(java.lang.String nimi, double paino)
          Alustetaan kissa
 
Method Summary
 void aantele()
          Kissa ääntelee sanomalla Miauu
 void tulosta()
          Tulostetaan kissan tiedot
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

nimi

private final java.lang.String nimi

paino

private final double paino
Constructor Detail

Elukat.Kissa

public Elukat.Kissa(java.lang.String nimi,
                    double paino)
Alustetaan kissa

Parameters:
nimi - kissan nimi
paino - kissan paino
Method Detail

aantele

public void aantele()
Kissa ääntelee sanomalla Miauu

Specified by:
aantele in interface Elukat.ElainRajapinta

tulosta

public void tulosta()
Tulostetaan kissan tiedot

Specified by:
tulosta in interface Elukat.ElainRajapinta


Elukat.Koira

demo
Class Elukat.Koira

java.lang.Object
  extended by demo.Elukat.Koira
All Implemented Interfaces:
Elukat.ElainRajapinta
Enclosing class:
Elukat

public static class Elukat.Koira
extends java.lang.Object
implements Elukat.ElainRajapinta

Koira-luokka jossa on oma ääntele-metodi

Author:
vesal

Field Summary
private  java.lang.String nimi
           
private  double paino
           
 
Constructor Summary
Elukat.Koira(java.lang.String nimi, double paino)
          Alustetaan koira
 
Method Summary
 void aantele()
          Koira ääntelee sanomalla Hau Hau
 void tulosta()
          Tulostetaan koiran tiedot
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

nimi

private final java.lang.String nimi

paino

private final double paino
Constructor Detail

Elukat.Koira

public Elukat.Koira(java.lang.String nimi,
                    double paino)
Alustetaan koira

Parameters:
nimi - koiran nimi
paino - oiran paino
Method Detail

aantele

public void aantele()
Koira ääntelee sanomalla Hau Hau

Specified by:
aantele in interface Elukat.ElainRajapinta

tulosta

public void tulosta()
Tulostetaan koiran tiedot

Specified by:
tulosta in interface Elukat.ElainRajapinta


Elukat.Kotka

demo
Class Elukat.Kotka

java.lang.Object
  extended by demo.Elukat.Kotka
All Implemented Interfaces:
Elukat.ElainRajapinta
Enclosing class:
Elukat

public static class Elukat.Kotka
extends java.lang.Object
implements Elukat.ElainRajapinta

Kotka-luokka jossa on oma ääntele-metodi

Author:
vesal

Field Summary
private  java.lang.String nimi
           
private  double paino
           
 
Constructor Summary
Elukat.Kotka(java.lang.String nimi, double paino)
          Alustetaan kotka
 
Method Summary
 void aantele()
          Kotka ääntelee sanomalla Kriik kriik
 void tulosta()
          Tulostetaan Kotkan tiedot
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

nimi

private final java.lang.String nimi

paino

private final double paino
Constructor Detail

Elukat.Kotka

public Elukat.Kotka(java.lang.String nimi,
                    double paino)
Alustetaan kotka

Parameters:
nimi - kotkan nimi
paino - kotkan paino
Method Detail

aantele

public void aantele()
Kotka ääntelee sanomalla Kriik kriik

Specified by:
aantele in interface Elukat.ElainRajapinta

tulosta

public void tulosta()
Tulostetaan Kotkan tiedot

Specified by:
tulosta in interface Elukat.ElainRajapinta


Esiintymat

demo
Class Esiintymat

java.lang.Object
  extended by demo.Esiintymat

public class Esiintymat
extends java.lang.Object

Luokka Esiintymat lukujen määrän laskemiseksi

Version:
1.0, 14.02.2003
Author:
Vesa Lappalainen

Field Summary
private  int ala
           
private  int[] esiintymatLaskuri
           
private  int yla
           
 
Constructor Summary
Esiintymat(int ala, int yla)
          Alustetaan esiintymien laskeminen.
 
Method Summary
 java.lang.String eiLoydetyt()
          Palauttaa merkkijonona ne luvut, joita ei ole löytynyt
 int getAla()
          Palauttaa laskettavien esiintymien ylärajan
 int getLoydettyja()
          Palautta niiden lukujen lukumäärän, joita on löytynyt
 int getYla()
          Palauttaa laskettavien esiintyminen alarajan
private  int ind(int i)
          Muuttaa väillä [ala,yla] olevan indeksin välille [0,yla-ala]
 void lisaa(int n)
          Lisää esiintymätaulukkoon luvun n esiintymää yhdellä mikäli n on sallitussa välissä [ala,yla] oleva luku.
 java.lang.String loydetyt()
          Palauttaa merkkijonona ne luvut, joita on löytynyt
static void main(java.lang.String[] args)
          Testiohjelma Esiintymat-luokalle
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

ala

private int ala

yla

private int yla

esiintymatLaskuri

private int[] esiintymatLaskuri
Constructor Detail

Esiintymat

public Esiintymat(int ala,
                  int yla)
Alustetaan esiintymien laskeminen.

Parameters:
ala - pienin laskettava
yla - suurin laskettava
Method Detail

ind

private int ind(int i)
Muuttaa väillä [ala,yla] olevan indeksin välille [0,yla-ala]

Parameters:
i - indeksi joka muutetaan
Returns:
0:sta alkava indeksi

lisaa

public void lisaa(int n)
Lisää esiintymätaulukkoon luvun n esiintymää yhdellä mikäli n on sallitussa välissä [ala,yla] oleva luku.

Parameters:
n - luku, jonka esiintymää lisätään yhdellä
Example:
   Esiintymat esiintymat = new Esiintymat(1,13);
   esiintymat.getLoydettyja() === 0;
   esiintymat.lisaa(0);  esiintymat.loydetyt() === "";
   esiintymat.lisaa(1);  esiintymat.loydetyt() === "1 ";
   esiintymat.lisaa(1);  esiintymat.loydetyt() === "1 ";
   esiintymat.lisaa(8);  esiintymat.loydetyt() === "1 8 ";
   esiintymat.lisaa(5);  esiintymat.loydetyt() === "1 5 8 ";
   esiintymat.lisaa(13); esiintymat.loydetyt() === "1 5 8 13 ";
   esiintymat.lisaa(14); esiintymat.loydetyt() === "1 5 8 13 ";
   esiintymat.eiLoydetyt() === "2 3 4 6 7 9 10 11 12 ";
   esiintymat.getLoydettyja() === 4;
 

loydetyt

public java.lang.String loydetyt()
Palauttaa merkkijonona ne luvut, joita on löytynyt

Returns:
löytyneet merkkijonona

eiLoydetyt

public java.lang.String eiLoydetyt()
Palauttaa merkkijonona ne luvut, joita ei ole löytynyt

Returns:
ei-löytyneet merkkijonona

getLoydettyja

public int getLoydettyja()
Palautta niiden lukujen lukumäärän, joita on löytynyt

Returns:
kuinka montaa lukua on esiintynyt

getAla

public int getAla()
Palauttaa laskettavien esiintymien ylärajan

Returns:
yläraja

getYla

public int getYla()
Palauttaa laskettavien esiintyminen alarajan

Returns:
alaraja

main

public static void main(java.lang.String[] args)
Testiohjelma Esiintymat-luokalle

Parameters:
args - - ei käytössä


Etumerkki

demo
Class Etumerkki

java.lang.Object
  extended by demo.Etumerkki

public class Etumerkki
extends java.lang.Object

Ohjelmalla testataan luvun kuulumista tietylle välille. Samalla esimerkki automaattisesta testaamisesta.

Version:
1.0, 07.02.2003
Author:
Vesa Lappalainen

Constructor Summary
Etumerkki()
           
 
Method Summary
static int etumerkki(double x, double eps)
          Funktiolla testataan onko x eps:in tarkkuudella 0.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

Etumerkki

public Etumerkki()
Method Detail

etumerkki

public static int etumerkki(double x,
                            double eps)
Funktiolla testataan onko x eps:in tarkkuudella 0. Funktiota voi käyttää myös
   if ( etumerkki(x-5.7,0.01) == 0 ) System.out.println(" x = 5.7 ");
 

Parameters:
x - tutkittava luku
eps - tarkkuus joka halutaan
Returns:
0 jos eps päässä nollasta, -1 jos enemmän negatiivinen, 1 jos positiivinen
Example:
   etumerkki(-3.0,0.01)    === -1;
   etumerkki(-0.0001,0.01) ===  0;
   etumerkki(0.0,0.01)     ===  0;
   etumerkki(0.0001,0.01)  ===  0;
   etumerkki(3.0,0.01)     ===  1;
 


Etusuku

demo
Class Etusuku

java.lang.Object
  extended by demo.Etusuku

public class Etusuku
extends java.lang.Object

Testiohjelma etu -ja sukunimen vaihtamiseksi keskenään.

Version:
1.0, 10.01.2002
Author:
Vesa Lappalainen

Constructor Summary
Etusuku()
           
 
Method Summary
static java.lang.String erota(java.lang.StringBuffer jono)
          Erottaa jonosta välilyönnin kohdalta seuraavan palasen.
static java.lang.String erota(java.lang.StringBuffer jono, char merkki)
          Erottaa jonosta merkin kohdalta seuraavan palasen.
static java.lang.String erota(java.lang.StringBuffer jono, char merkki, boolean etsitakaperin)
          Erottaa jonosta valitun merkin kohdalta alkuosan ja loppuosan.
static void main(java.lang.String[] args)
          Testipääohjelma
static void testi(java.lang.String nimi)
          Testaa sukunimen ja etunimen vaihtamista molempiin suuntiin
static java.lang.String vaihdaEtuSuku(java.lang.String nimi)
          Vaihtaa etunimen ja sukunimen keskenään, Jukka Pekka Palo => Palo Jukka Pekka
static java.lang.String vaihdaSukuEtu(java.lang.String nimi)
          Vaihtaa sukunimen ja etunimen keskenään, Palo Jukka Pekka => Jukka Pekka Palo
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

Etusuku

public Etusuku()
Method Detail

erota

public static java.lang.String erota(java.lang.StringBuffer jono,
                                     char merkki,
                                     boolean etsitakaperin)
Erottaa jonosta valitun merkin kohdalta alkuosan ja loppuosan. Alkuosa palautetaan funktion nimessä ja loppuosa jätetään jonoon. Merkin etsimissuunta voidaan valita (oletuksena alusta päin). Jos merkkiä ei löydy, palautetaan koko jono ja tyhjennetään jono.
 Käyttöesimerkki: olkoon aluksi string jono,s;
  1)  jono = "123 456";  s = erota(jono);   => jono == "456"  s == "123"
  2)  jono = "123";      s = erota(jono);   => jono == ""     s == "123"
  3)  jono = "1 2 3";
  while ( jono.length() > 0 ) System.out.print(erota(jono)+",");
           => tulostaa 1,2,3,
 

Parameters:
jono - jono jota pilkotaan
merkki - merkki jonka kohdalta katkaistaan
etsitakaperin - etsitäänkö merkki oikealta vasemmalle
Returns:
merkkiä edeltävä jono

erota

public static java.lang.String erota(java.lang.StringBuffer jono,
                                     char merkki)
Erottaa jonosta merkin kohdalta seuraavan palasen.

Parameters:
jono - käsiteltävä jono
merkki - merkki jonka kohdalta erotetaan
Returns:
seuraava palanen

erota

public static java.lang.String erota(java.lang.StringBuffer jono)
Erottaa jonosta välilyönnin kohdalta seuraavan palasen.

Parameters:
jono - käsiteltävä jono
Returns:
seuraava palanen

vaihdaEtuSuku

public static java.lang.String vaihdaEtuSuku(java.lang.String nimi)
Vaihtaa etunimen ja sukunimen keskenään, Jukka Pekka Palo => Palo Jukka Pekka

Parameters:
nimi - Etunimi Sukunimi jota vaihdetaan
Returns:
Sukunimi Etunimi

vaihdaSukuEtu

public static java.lang.String vaihdaSukuEtu(java.lang.String nimi)
Vaihtaa sukunimen ja etunimen keskenään, Palo Jukka Pekka => Jukka Pekka Palo

Parameters:
nimi - Sukunimi Etunimi jota vaihdetaan
Returns:
Etunimi Sukunimi

testi

public static void testi(java.lang.String nimi)
Testaa sukunimen ja etunimen vaihtamista molempiin suuntiin

Parameters:
nimi - testattava nimi

main

public static void main(java.lang.String[] args)
Testipääohjelma

Parameters:
args - ei käytössä


Etusuku2

demo
Class Etusuku2

java.lang.Object
  extended by demo.Etusuku2

public class Etusuku2
extends java.lang.Object

Testiohjelma etu -ja sukunimen vaihtamiseksi keskenään.

Version:
1.0, 10.01.2002, 1.1, 22.01.2007, automaattinen testi
Author:
Vesa Lappalainen

Constructor Summary
Etusuku2()
           
 
Method Summary
static void main(java.lang.String[] args)
          Testataan etu- ja sukunimen vaihtamista keskenään.
static java.lang.String vaihdaEtuSuku(java.lang.String nimi)
          Vaihtaa etunimen ja sukunimen keskenään, Jukka Pekka Palo => Palo Jukka Pekka
static java.lang.String vaihdaSukuEtu(java.lang.String nimi)
          Vaihtaa sukunimen ja etunimen keskenään, Palo Jukka Pekka => Jukka Pekka Palo
private static int vaihdatesti(java.lang.String nimi, java.lang.String tulos)
          Testaa sukunimen ja etunimen vaihtamista molempiin suuntiin
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

Etusuku2

public Etusuku2()
Method Detail

vaihdaEtuSuku

public static java.lang.String vaihdaEtuSuku(java.lang.String nimi)
Vaihtaa etunimen ja sukunimen keskenään, Jukka Pekka Palo => Palo Jukka Pekka

Parameters:
nimi - vaihdettava nimi jossa etunimi ensin
Returns:
vaihettu nimi jossa sukunimi ensin

vaihdaSukuEtu

public static java.lang.String vaihdaSukuEtu(java.lang.String nimi)
Vaihtaa sukunimen ja etunimen keskenään, Palo Jukka Pekka => Jukka Pekka Palo

Parameters:
nimi - vaihdettava nimi jossa sukunimi ensin
Returns:
vaihettu nimi jossa etunimi ensin

vaihdatesti

private static int vaihdatesti(java.lang.String nimi,
                               java.lang.String tulos)
Testaa sukunimen ja etunimen vaihtamista molempiin suuntiin

Parameters:
nimi - tukittava nimi
tulos - mikä pitäisi tulla tulokseksi
Returns:
0 jos oikein, 1 tai 2 jos väärin

main

public static void main(java.lang.String[] args)
Testataan etu- ja sukunimen vaihtamista keskenään.

Parameters:
args -


Etusuku3

demo
Class Etusuku3

java.lang.Object
  extended by demo.Etusuku3

public class Etusuku3
extends java.lang.Object

Testiohjelma etu -ja sukunimen vaihtamiseksi keskenään.

Version:
1.0, 26.01.2002, 1.1, 26.01.2008 /vl ComTest
Author:
Vesa Lappalainen

Constructor Summary
Etusuku3()
           
 
Method Summary
static void main(java.lang.String[] args)
          Testaan etu- ja sukunimen vaihtamista.
private static int nimitesti(java.lang.String nimi, java.lang.String tulos)
          Testaa sukunimen ja etunimen vaihtamista molempiin suuntiin
static java.lang.String vaihdaAlkuLoppu(java.lang.String nimi, boolean etsiLopusta)
          Vaihtaa jonon alku ja loppuosan keskenään.
static java.lang.String vaihdaEtuSuku(java.lang.String nimi)
          Vaihtaa etunimen ja sukunimen keskenään
static java.lang.String vaihdaSukuEtu(java.lang.String nimi)
          Vaihtaa sukunimen ja etunimen keskenään, Palo Jukka Pekka => Jukka Pekka Palo
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

Etusuku3

public Etusuku3()
Method Detail

vaihdaAlkuLoppu

public static java.lang.String vaihdaAlkuLoppu(java.lang.String nimi,
                                               boolean etsiLopusta)
Vaihtaa jonon alku ja loppuosan keskenään. Välilyöntiä etsitään joko alusta tai lopusta päin riippuen parametrin etsiLopusta arvosta
  nimi = Jukka Pekka Palo, etsiLopusta = true  => Palo Jukka Pekka
  nimi = Palo Jukka Pekka, etsiLopusta = false => Jukka Pekka Palo
 

Parameters:
nimi - merkkijono josta osaset vaihdetaan
etsiLopusta - etsitäänkö lopusta vai alusta päin
Returns:
jono josta alku ja loppu vaihdettu keskenään
Example:
   vaihdaAlkuLoppu("Jukka Pekka Palo",true)  === "Palo Jukka Pekka"; // NOPMD
   vaihdaAlkuLoppu("Jukka Pekka Palo",false) === "Pekka Palo Jukka";
   vaihdaAlkuLoppu("Aku Ankka",true)         === "Ankka Aku";        // NOPMD
   vaihdaAlkuLoppu("Aku Ankka",false)        === "Ankka Aku";
   vaihdaAlkuLoppu("Pele",true)              === "Pele";             // NOPMD
   vaihdaAlkuLoppu("Pele",false)             === "Pele";
   vaihdaAlkuLoppu("",true)                  === "";
   vaihdaAlkuLoppu("",false)                 === "";
   vaihdaAlkuLoppu(null,true)                === null; #THROWS NullPointerException // NOPMD
   vaihdaAlkuLoppu(null,false)               === null; #THROWS NullPointerException // NOPMD
 

vaihdaEtuSuku

public static java.lang.String vaihdaEtuSuku(java.lang.String nimi)
Vaihtaa etunimen ja sukunimen keskenään

Parameters:
nimi - vaihdettava nimi jossa etunimi ensin
Returns:
vaihettu nimi jossa sukunimi ensin
Example:
 vaihdaEtuSuku("Jukka Pekka Palo") === "Palo Jukka Pekka";
 vaihdaEtuSuku("Aku Ankka")        === "Ankka Aku";
 vaihdaEtuSuku("Pele")             === "Pele";
 vaihdaEtuSuku("")                 === "";
 vaihdaEtuSuku(null)               === null;  #THROWS NullPointerException // NOPMD
 

vaihdaSukuEtu

public static java.lang.String vaihdaSukuEtu(java.lang.String nimi)
Vaihtaa sukunimen ja etunimen keskenään, Palo Jukka Pekka => Jukka Pekka Palo

Parameters:
nimi - vaihdettava nimi jossa sukunimi ensin
Returns:
vaihettu nimi jossa etunimi ensin
Example:
 vaihdaSukuEtu("Palo Jukka Pekka") === "Jukka Pekka Palo";
 vaihdaSukuEtu("Ankka Aku")        === "Aku Ankka";
 vaihdaSukuEtu("Pele")             === "Pele";
 vaihdaSukuEtu("")                 === "";
 vaihdaSukuEtu(null)               === null; #THROWS NullPointerException // NOPMD
 

nimitesti

private static int nimitesti(java.lang.String nimi,
                             java.lang.String tulos)
Testaa sukunimen ja etunimen vaihtamista molempiin suuntiin

Parameters:
nimi - tukittava nimi
tulos - mikä pitäisi tulla tulokseksi
Returns:
0 jos oikein, 1 tai 2 jos väärin

main

public static void main(java.lang.String[] args)
Testaan etu- ja sukunimen vaihtamista.

Parameters:
args - ei käytössä


Henkilo

demo
Class Henkilo

java.lang.Object
  extended by demo.Henkilo

public class Henkilo
extends java.lang.Object

Henkilo-luokka. Henkilöllä on nimi ja syntymävuosi.

Version:
1.0, 07.02.2003
Author:
Vesa Lappalainen

Field Summary
private  java.lang.String etunimi
           
private  java.lang.String sukunimi
           
private  int syntymavuosi
           
 
Constructor Summary
Henkilo()
          Alustetaan henkilön nimi tyhjäksi ja syntymävuosi nollaksi.
Henkilo(java.lang.String etunimi, java.lang.String sukunimi, int syntymavuosi)
          Alustetaan henkilön tiedot annetuilla arvoilla
 
Method Summary
 void kysy()
          Kysytään henkilön tiedot ja ehdotetaan alkuperäisiä arvoja oletuksena
static void main(java.lang.String[] args)
          Testataan henkilöluokkaa
 void tulosta()
          Tulostetaan henkilön tiedot näytölle.
 void tulosta(java.io.OutputStream os)
          Tulostetaan henkilön tiedot paramterina tuotuu tietovirtaan
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

etunimi

private java.lang.String etunimi

sukunimi

private java.lang.String sukunimi

syntymavuosi

private int syntymavuosi
Constructor Detail

Henkilo

public Henkilo()
Alustetaan henkilön nimi tyhjäksi ja syntymävuosi nollaksi.


Henkilo

public Henkilo(java.lang.String etunimi,
               java.lang.String sukunimi,
               int syntymavuosi)
Alustetaan henkilön tiedot annetuilla arvoilla

Parameters:
etunimi - henkilön uusi etunimi
sukunimi - henkilön uusi sukunimi
syntymavuosi - henkilön uusi syntymävuosi
Method Detail

tulosta

public void tulosta(java.io.OutputStream os)
Tulostetaan henkilön tiedot paramterina tuotuu tietovirtaan

Parameters:
os - tietovirta johon tiedot tulostetaan

tulosta

public void tulosta()
Tulostetaan henkilön tiedot näytölle.


kysy

public void kysy()
Kysytään henkilön tiedot ja ehdotetaan alkuperäisiä arvoja oletuksena

Example:
 #import fi.jyu.mit.ohj2.Suuntaaja;
     
 Suuntaaja.StringInput si = new Suuntaaja.StringInput();  
 Suuntaaja.StringOutput so = new Suuntaaja.StringOutput();

 Henkilo hlo = new Henkilo();
 
 si.input("Matti\nMeikäläinen\n1978\n");
 hlo.kysy(); so.reset();  hlo.tulosta();
 so.ero("Matti Meikäläinen 1978\n") === null;
 
 si.input("\nMeikä\n\n");
 hlo.kysy(); so.reset();  hlo.tulosta();
 so.ero("Matti Meikä 1978\n") === null;
 
 si.input("\n\n1968\n");
 hlo.kysy(); so.reset();  hlo.tulosta();
 so.ero("Matti Meikä 1968\n") === null;
 
 si.palauta(); so.palauta();
 
 

main

public static void main(java.lang.String[] args)
Testataan henkilöluokkaa

Parameters:
args - ei käytössä


Henkilo2

demo
Class Henkilo2

java.lang.Object
  extended by demo.Henkilo2

public class Henkilo2
extends java.lang.Object

Henkilo-luokka. Henkilöllä on nimi ja syntymävuosi. Lisätty metodit parse ja toString

Version:
1.0, 07.02.2003, 1.2, 09.02.2003, 1.3, 09.02.2008
Author:
Vesa Lappalainen

Field Summary
private  java.lang.String etunimi
           
private  java.lang.String sukunimi
           
private  int syntymavuosi
           
 
Constructor Summary
Henkilo2()
          Alustetaan henkilön nimi tyhjäksi ja syntymävuosi nollaksi.
Henkilo2(java.lang.String s)
          Alustetaan henkilön tiedot tolppaerotellulla jonolla
Henkilo2(java.lang.String etunimi, java.lang.String sukunimi, int syntymavuosi)
          Alustetaan henkilön tiedot annetuilla arvoilla
 
Method Summary
 void hloParse(java.lang.StringBuffer sb)
          Ottaa henkilön tiedot tolppa-erotetusta merkkijonosta.
 void kysy()
          Kysytään henkilön tiedot ja ehdotetaan alkuperäisiä arvoja oletuksena
static void main(java.lang.String[] args)
          Testataan Henkilo2-luokkaa
 void parse(java.lang.String s)
          Ottaa henkilön tiedot tolppa-erotetusta merkkijonosta Sepe|Susi|1934
 void parse(java.lang.StringBuffer sb)
          Ottaa henkilön tiedot tolppa-erotetusta merkkijonosta.
 java.lang.String toString()
          Muuttaa henkilön tiedot tolppa-erotetuksi merkkijonoksi
 void tulosta()
          Tulostetaan henkilön tiedot näytölle.
 void tulosta(java.io.OutputStream os)
          Tulostetaan henkilön tiedot paramterina tuotuu tietovirtaan
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

etunimi

private java.lang.String etunimi

sukunimi

private java.lang.String sukunimi

syntymavuosi

private int syntymavuosi
Constructor Detail

Henkilo2

public Henkilo2()
Alustetaan henkilön nimi tyhjäksi ja syntymävuosi nollaksi.


Henkilo2

public Henkilo2(java.lang.String etunimi,
                java.lang.String sukunimi,
                int syntymavuosi)
Alustetaan henkilön tiedot annetuilla arvoilla

Parameters:
etunimi - henkilön uusi etunimi
sukunimi - henkilön uusi sukunimi
syntymavuosi - henkilön uusi syntymävuosi

Henkilo2

public Henkilo2(java.lang.String s)
Alustetaan henkilön tiedot tolppaerotellulla jonolla

Parameters:
s - henkilön tiedot tolppa-erotetussa muodossa
Example:
 Henkilo2 hlo = new Henkilo2("  Aku  |  Ankka  |  1934 ");
 hlo.toString() === "Aku|Ankka|1934";                         // NOPMD
 
Method Detail

tulosta

public void tulosta(java.io.OutputStream os)
Tulostetaan henkilön tiedot paramterina tuotuu tietovirtaan

Parameters:
os - tietovirta johon tiedot tulostetaan
Example:
 #import java.io.*;
 ByteArrayOutputStream byteoutput = new ByteArrayOutputStream();
 Henkilo2 hlo = new Henkilo2("Aku","Ankka",1934);
 hlo.tulosta(byteoutput);
 byteoutput.toString() =R= "Aku Ankka 1934\\s*"
 

tulosta

public void tulosta()
Tulostetaan henkilön tiedot näytölle.


kysy

public void kysy()
Kysytään henkilön tiedot ja ehdotetaan alkuperäisiä arvoja oletuksena

Example:
 #import fi.jyu.mit.ohj2.Suuntaaja;
     
 Suuntaaja.StringInput si = new Suuntaaja.StringInput();  
 Suuntaaja.StringOutput so = new Suuntaaja.StringOutput();

 Henkilo2 hlo = new Henkilo2();
 
 si.input("Matti\nMeikäläinen\n1978\n");
 hlo.kysy(); so.reset();  hlo.tulosta();
 so.ero("Matti Meikäläinen 1978\n") === null;
 
 si.input("\nMeikä\n\n");
 hlo.kysy(); so.reset();  hlo.tulosta();
 so.ero("Matti Meikä 1978\n") === null;
 
 si.input("\n\n1968\n");
 hlo.kysy(); so.reset();  hlo.tulosta();
 so.ero("Matti Meikä 1968\n") === null;
 
 si.palauta(); so.palauta();
 
 

toString

public java.lang.String toString()
Muuttaa henkilön tiedot tolppa-erotetuksi merkkijonoksi

Overrides:
toString in class java.lang.Object
Returns:
tolppa-erotettu jono.
Example:
 Henkilo2 hlo = new Henkilo2("Aku","Ankka",1934);
 hlo.toString() === "Aku|Ankka|1934";
 

parse

public void parse(java.lang.String s)
Ottaa henkilön tiedot tolppa-erotetusta merkkijonosta
Sepe|Susi|1934

Parameters:
s - jono, josta tiedot otetaan
Example:
 Henkilo2 hlo = new Henkilo2();
 hlo.toString() === "||0";
 hlo.parse("Aku");
 hlo.toString() === "Aku||0";
 hlo.parse("  Aku  |  Ankka  |  1934 ");
 hlo.toString() === "Aku|Ankka|1934";
 Suuntaaja.StringOutput so = new Suuntaaja.StringOutput();
 hlo.tulosta();
 so.toString() =R= "Aku Ankka 1934\\s*";             // NOPMD
 so.palauta(); 
 

hloParse

public final void hloParse(java.lang.StringBuffer sb)
Ottaa henkilön tiedot tolppa-erotetusta merkkijonosta. hloparse on final jotta sitä voidaan kutsua muodostajasta. Jättää jonoon jäljelle ne mitä henkilö ei sieltä tarvitse. Jonon muoto:
Sepe|Susi|1934

Parameters:
sb - jono, josta tiedot otetaan
Example:
 Henkilo2 hlo = new Henkilo2();
 StringBuffer jono = new StringBuffer("  Aku  |  Ankka  |  1934 | loput "); 
 hlo.hloParse(jono);
 hlo.toString() === "Aku|Ankka|1934";
 jono.toString() === " loput ";
 

parse

public void parse(java.lang.StringBuffer sb)
Ottaa henkilön tiedot tolppa-erotetusta merkkijonosta. Jättää jonoon jäljelle ne mitä henkilö ei sieltä tarvitse. Jonon muoto:
Sepe|Susi|1934

Parameters:
sb - jono, josta tiedot otetaan
Example:
 Henkilo2 hlo = new Henkilo2();
 StringBuffer jono = new StringBuffer("  Aku  |  Ankka  |  1934 | loput "); 
 hlo.parse(jono);
 hlo.toString() === "Aku|Ankka|1934";
 jono.toString() === " loput ";
 

main

public static void main(java.lang.String[] args)
Testataan Henkilo2-luokkaa

Parameters:
args - ei käytössä


HuoneAla

demo
Class HuoneAla

java.lang.Object
  extended by demo.HuoneAla

public class HuoneAla
extends java.lang.Object

Testiohjelma huoneen tietojen kysymiseksi ja laskemiseksi

Version:
1.0, 26.01.2002
Author:
Vesa Lappalainen

Constructor Summary
HuoneAla()
           
 
Method Summary
static double laskePintaAla(double pituus, double leveys)
          Lasketaan huoneen pinta-ala
static double laskeTilavuus(double pa, double korkeus)
          Lasketaan huoneen tilavuus
static void main(java.lang.String[] args)
          Testataan pinta-alan ja tilvauuden laskemista
private static void tulostaPintaAla(double pa)
          Tulostetaan huoneen pinta-ala
private static void tulostaTilavuus(double tilavuus)
          Tulostetaan huoneen tilavuus
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

HuoneAla

public HuoneAla()
Method Detail

laskePintaAla

public static double laskePintaAla(double pituus,
                                   double leveys)
Lasketaan huoneen pinta-ala

Parameters:
pituus - huoneen pituus
leveys - huoneen leveys
Returns:
huoneen pinta-ala
Example:
  laskePintaAla(2,3) ~~~ 6.0;
  laskePintaAla(0,3) ~~~ 0.0;
 

laskeTilavuus

public static double laskeTilavuus(double pa,
                                   double korkeus)
Lasketaan huoneen tilavuus

Parameters:
pa - huoneen pinta-ala
korkeus - huoneen korkeus
Returns:
huoneen tilavuus
Example:
   laskeTilavuus(6,2.5) ~~~ 15.0;
   laskeTilavuus(6,0.0) ~~~ 0.0;
 

tulostaPintaAla

private static void tulostaPintaAla(double pa)
Tulostetaan huoneen pinta-ala

Parameters:
pa - tulostettava ala

tulostaTilavuus

private static void tulostaTilavuus(double tilavuus)
Tulostetaan huoneen tilavuus

Parameters:
tilavuus - tulostettava tilavuus

main

public static void main(java.lang.String[] args)
Testataan pinta-alan ja tilvauuden laskemista

Parameters:
args -


Ika

demo
Class Ika

java.lang.Object
  extended by demo.Ika

public class Ika
extends java.lang.Object

Ohjelma joka kertoo henkilön iän syntymävuoden perusteella

Version:
1.0, 07.02.2003
Author:
Vesa Lappalainen

Field Summary
private static int NYKYVUOSI
           
 
Constructor Summary
Ika()
           
 
Method Summary
static void main(java.lang.String[] args)
          Testaaan iän kysymisohjelmaa
static int muutaVuosi(int vuosi)
          Funktiolla muutetaan vuosi vuosisadalle 1900 tai 2000 mikäli annettu vuosi on annettu kahdella numerolla.
private static void ohjeet()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

NYKYVUOSI

private static final int NYKYVUOSI
See Also:
Constant Field Values
Constructor Detail

Ika

public Ika()
Method Detail

ohjeet

private static void ohjeet()

muutaVuosi

public static int muutaVuosi(int vuosi)
Funktiolla muutetaan vuosi vuosisadalle 1900 tai 2000 mikäli annettu vuosi on annettu kahdella numerolla. Negatiiviset vuodet tulkitaan ennen ajanlaskun alkua oleviksi :-)

Parameters:
vuosi - muutettava vuosi
Returns:
muutettu vuosi
Example:
 muutaVuosi(-55)  === -55;
 muutaVuosi(1982) === 1982;
 muutaVuosi(2001) === 2001;
 muutaVuosi(07)   === 2007;
 muutaVuosi(96)   === 1996;
 

main

public static void main(java.lang.String[] args)
Testaaan iän kysymisohjelmaa

Parameters:
args -
Example:
 #import fi.jyu.mit.ohj2.Suuntaaja;
     
 Suuntaaja.StringInput si = new Suuntaaja.StringInput("1978"); 
 Suuntaaja.StringOutput so = new Suuntaaja.StringOutput();
 
 demo.Ika.main(null);
 String tulostus = "Kerron sinulle paljonko täytät tänä vuonna!\n" 
                   + "Anna syntymävuotesi (1988) >"
                   + "Täytät tänä vuonna 30 vuotta.\n";
 so.ero(tulostus) === null;
 si.palauta(); so.palauta();
 


Int

demo
Class Int

java.lang.Object
  extended by demo.Int
All Implemented Interfaces:
Kopioituva, java.lang.Cloneable

public class Int
extends java.lang.Object
implements java.lang.Cloneable, Kopioituva

Integer-luokka, jossa arvoa voi muuttaa

Version:
1.0, 09.03.2003
Author:
Vesa Lappalainen

Field Summary
private  int arvo
           
 
Constructor Summary
Int(int arvo)
           
 
Method Summary
 Int clone()
          Metodi joka tuottaa oliosta mielellään syväkopion
 boolean equals(java.lang.Object o)
           
 int intValue()
           
static void main(java.lang.String[] args)
          Testataan lukua
 void set(int arvo)
           
 java.lang.String toString()
           
 
Methods inherited from class java.lang.Object
finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

arvo

private int arvo
Constructor Detail

Int

public Int(int arvo)
Parameters:
arvo - alustuksessa annettava arvo
Method Detail

intValue

public int intValue()
Returns:
luvun arvo

set

public void set(int arvo)
Parameters:
arvo - uusi arvo luvulla
Example:
 Int luku = new Int(3);
 luku.intValue() === 3;
 luku.set(5);
 luku.intValue() === 5;
 

toString

public java.lang.String toString()
Overrides:
toString in class java.lang.Object
Returns:
arvo merkkijonona
Example:
 Int luku = new Int(3);
 luku.toString() === "3"; 
 

clone

public Int clone()
          throws java.lang.CloneNotSupportedException
Description copied from interface: Kopioituva
Metodi joka tuottaa oliosta mielellään syväkopion

Specified by:
clone in interface Kopioituva
Overrides:
clone in class java.lang.Object
Returns:
kopio luvusta
 #THROWS CloneNotSupportedException
 Int luku  = new Int(3);
 Int luku2 = luku.clone();
 luku.intValue()  === 3;
 luku2.intValue() === 3;
 luku.set(5);
 luku.intValue()  === 5;
 luku2.intValue() === 3;
 
Throws:
java.lang.CloneNotSupportedException

equals

public boolean equals(java.lang.Object o)
Overrides:
equals in class java.lang.Object
Parameters:
o - olio johon verrataan
Returns:
true jos sama sisältö kuin o:lla, muuten false
Example:
 #THROWS CloneNotSupportedException
 Int luku = new Int(3);
 luku.equals(null) === false; // NOPMD
 "3".equals(luku)  === false;
 Int luku2 = luku.clone();
 luku.equals(luku2) === true;
 luku.set(5); 
 luku.equals(luku2) === false;
 

main

public static void main(java.lang.String[] args)
Testataan lukua

Parameters:
args - ei käytössä


Jokeri

demo
Class Jokeri

java.lang.Object
  extended by demo.Jokeri

public class Jokeri
extends java.lang.Object

Testataan onkoSamatKys -metodin toimintaa

Version:
1.0, 26.01.2002, 1.1, 27.01.2007
Author:
Vesa Lappalainen

Constructor Summary
Jokeri()
           
 
Method Summary
private static int jokeritesti(java.lang.String jono, java.lang.String maski, boolean odotettuTulos)
          Testataa onkoSamatKys metodia
static void main(java.lang.String[] args)
          Testataan kysymysmerkkijokeria
static boolean onkoSamatKys(java.lang.String jono, java.lang.String maski)
          Verrataan onko kaksi merkkijonoa samoja siinä mielessä, että maskissa saa olla kysymysmerkkejä: Esim.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

Jokeri

public Jokeri()
Method Detail

onkoSamatKys

public static boolean onkoSamatKys(java.lang.String jono,
                                   java.lang.String maski)
Verrataan onko kaksi merkkijonoa samoja siinä mielessä, että maskissa saa olla kysymysmerkkejä: Esim. kissa ki??a => true, kissa kis? => false

Parameters:
jono - tutkittava jono
maski - verrattava jono joka saa sisältää ?-merkkejä
Returns:
onko sama maskin mielessä (true) vai ei (false)
Example:
   onkoSamatKys("kissa","kissa")  === true;          // NOPMD
   onkoSamatKys("kissa","ki??a")  === true;
   onkoSamatKys("kissa","kis?")   === false;
   onkoSamatKys("kissa","kissat") === false;
   onkoSamatKys("kissa","ki?sat") === false;
   onkoSamatKys("k","?")          === true;
   onkoSamatKys("k","??")         === false;
   onkoSamatKys("","")            === true;
   onkoSamatKys(null,"")          === false;   // # THROWS NullPointerException
   onkoSamatKys("",null)          === false;   // # THROWS NullPointerException   
   onkoSamatKys(null,null)        === true;    // # THROWS NullPointerException   
 

jokeritesti

private static int jokeritesti(java.lang.String jono,
                               java.lang.String maski,
                               boolean odotettuTulos)
Testataa onkoSamatKys metodia

Parameters:
jono - tutkittava jono
maski - maski johon verrataan
odotettuTulos - tulos joka pitäisi saada
Returns:
0 jos ok, 1 jos väärin

main

public static void main(java.lang.String[] args)
Testataan kysymysmerkkijokeria

Parameters:
args -


KerhoRek.Henkilo

demo
Class KerhoRek.Henkilo

java.lang.Object
  extended by demo.KerhoRek.Henkilo
Enclosing class:
KerhoRek

public static class KerhoRek.Henkilo
extends java.lang.Object

Henkilöluokka


Field Summary
private  java.lang.String nimi
           
private  java.lang.Integer nroOsoitin
           
private  java.lang.String osoite
           
private  java.lang.String postinro
           
 
Constructor Summary
KerhoRek.Henkilo(java.lang.String nimi, java.lang.String osoite, java.lang.String postinro, java.lang.Integer nroOsoitin)
          Alustetaan henkilön tiedot
 
Method Summary
 int compareTo(java.lang.String nimi)
          Verrataan henkilön nimeä
 void tulosta(java.io.OutputStream os)
          Tulostetaan henkilön tiedot tietovirtaan
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

nimi

private final java.lang.String nimi

osoite

private final java.lang.String osoite

postinro

private final java.lang.String postinro

nroOsoitin

private final java.lang.Integer nroOsoitin
Constructor Detail

KerhoRek.Henkilo

public KerhoRek.Henkilo(java.lang.String nimi,
                        java.lang.String osoite,
                        java.lang.String postinro,
                        java.lang.Integer nroOsoitin)
Alustetaan henkilön tiedot

Parameters:
nimi - henkilön nimi
osoite - henkilön osoite
postinro - henkilön postinumero
nroOsoitin - viite kokonaisluku-olioon
Method Detail

tulosta

public void tulosta(java.io.OutputStream os)
Tulostetaan henkilön tiedot tietovirtaan

Parameters:
os - virta johon tulostetaan

compareTo

public int compareTo(java.lang.String nimi)
Verrataan henkilön nimeä

Parameters:
nimi - verrattava nimi
Returns:
<0 jos oma nimi ensin, 0 jos samat nimet ja >0 jos oma nimi myöhemmin


KerhoRek

demo
Class KerhoRek

java.lang.Object
  extended by demo.KerhoRek

public class KerhoRek
extends java.lang.Object

Ohjelma

Version:
1.0, 09.03.2003
Author:
Vesa Lappalainen
Example:
 #import fi.jyu.mit.ohj2.Suuntaaja;
 #DYNAMICIMPORT
 #CLASSIMPORT
  Suuntaaja.StringOutput so = new Suuntaaja.StringOutput();
  Integer nrot[] =  {5, 9, 3, 2, 1, 0};
  Henkilo katto = new Henkilo("Kassinen Katto","Katto"     ,"3452",nrot[1]);
  Henkilo sepe  = new Henkilo("Susi Sepe"     ,"Perämetsä" ,"-"   ,nrot[3]);

  KerhoRek rek = new KerhoRek(7,nrot);
  rek.lisaa(katto); rek.lisaa(sepe); rek.lisaa(sepe);
  rek.setNykyHenkilo("Kassinen Katto");

  rek.tulosta(System.out);
  String tulostus =
     "Nykyhenkilö: Kassinen Katto Katto 3452 9\n"+
     "          0: Kassinen Katto Katto 3452 9\n"+
     "          1: Susi Sepe Perämetsä - 2\n"+
     "          2: Susi Sepe Perämetsä - 2\n"+
     "  5  9  3  2  1  0\n";
  so.ero(tulostus) === null;   
  so.palauta();   
 

Nested Class Summary
static class KerhoRek.Henkilo
          Henkilöluokka
 
Field Summary
private  KerhoRek.Henkilo[] henkilot
           
private  int lkm
           
private  java.lang.Integer[] luvut
           
private  KerhoRek.Henkilo nykyHenkilo
           
 
Constructor Summary
KerhoRek(int koko, java.lang.Integer[] luvut)
          Kerhon rekisterin alustus
 
Method Summary
 int etsi(java.lang.String nimi)
          Etsitään tietyn henkilön indeksi
 int lisaa(KerhoRek.Henkilo hlo)
          Lisätään uusi henkilö
static void main(java.lang.String[] args)
          Testataan henkilörekisteriä
 int setNykyHenkilo(java.lang.String nimi)
          Laitetaan nykyinen henkila viittamaan henkilään jonka nimi on nimi
 void tulosta(java.io.OutputStream os)
          Tulostetaan tietovirtaan koko rekisteri
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

lkm

private int lkm

luvut

private final java.lang.Integer[] luvut

henkilot

private final KerhoRek.Henkilo[] henkilot

nykyHenkilo

private KerhoRek.Henkilo nykyHenkilo
Constructor Detail

KerhoRek

public KerhoRek(int koko,
                java.lang.Integer[] luvut)
Kerhon rekisterin alustus

Parameters:
koko - kerhon maxkoko
luvut - taulukko kokonaislukuviitteistä
Method Detail

lisaa

public int lisaa(KerhoRek.Henkilo hlo)
Lisätään uusi henkilö

Parameters:
hlo - lisättävä henkilö
Returns:
lukumäärä lisäyksen jälkeen tai -1 jos lisäys ei onnistu

tulosta

public void tulosta(java.io.OutputStream os)
Tulostetaan tietovirtaan koko rekisteri

Parameters:
os - virta johon tulostetaan

etsi

public int etsi(java.lang.String nimi)
Etsitään tietyn henkilön indeksi

Parameters:
nimi - etsittävän henkilön nimi
Returns:
henkilön indkesi jos löytyy, -1 jos ei löydy.

setNykyHenkilo

public int setNykyHenkilo(java.lang.String nimi)
Laitetaan nykyinen henkila viittamaan henkilään jonka nimi on nimi

Parameters:
nimi - sen henkilön nimi johon viitataan
Returns:
nykyisyisen henkilön indeksi tai -1 jos ei löydy

main

public static void main(java.lang.String[] args)
Testataan henkilörekisteriä

Parameters:
args - ei käytössä


Kertoma

demo
Class Kertoma

java.lang.Object
  extended by demo.Kertoma

public class Kertoma
extends java.lang.Object

Ohjelmalla testataan kertoman laskemista

Since:
1.4
Version:
1.0, 17.01.2003
Author:
Vesa Lappalainen

Constructor Summary
Kertoma()
           
 
Method Summary
private static double kertoma(int n)
           
private static double kertomaD(int n)
           
private static double kertomaR(int n)
           
private static double kertomaW(int n)
           
static void main(java.lang.String[] args)
          Testataan kertoman laskemista erilaisilla silmukoilla
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

Kertoma

public Kertoma()
Method Detail

kertoma

private static double kertoma(int n)

kertomaW

private static double kertomaW(int n)

kertomaD

private static double kertomaD(int n)

kertomaR

private static double kertomaR(int n)

main

public static void main(java.lang.String[] args)
Testataan kertoman laskemista erilaisilla silmukoilla

Parameters:
args -


Kirje

demo
Class Kirje

java.lang.Object
  extended by demo.Kirje

public class Kirje
extends java.lang.Object

Ohjelmalla tutkitaan postimaksun suuruutta

Version:
1.0, 21.02.2003
Author:
Vesa Lappalainen

Field Summary
private static double[] hinnat
           
private static int[] painot
           
 
Constructor Summary
Kirje()
           
 
Method Summary
static int suurinKirjeenPaino(double rahaa)
          Palautetaan suurin kirjeen paino, joka voidaan rahamäärällä lähettää
Toteutus taulukoiden avulla.
static int suurinKirjeenPainoIf(double rahaa)
          Palautetaan suurinkirjeen paino, joka voidaan rahamäärällä lähettää
Toteutus if-lauseiden avulla.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

painot

private static int[] painot

hinnat

private static double[] hinnat
Constructor Detail

Kirje

public Kirje()
Method Detail

suurinKirjeenPaino

public static int suurinKirjeenPaino(double rahaa)
Palautetaan suurin kirjeen paino, joka voidaan rahamäärällä lähettää
Toteutus taulukoiden avulla.

Parameters:
rahaa - käytössä oleva rahamäärä
Returns:
suurin kirjeen paino joka voidaan lähettää
Example:
 suurinKirjeenPaino($rahaa) ~~~ $paino;
 suurinKirjeenPainoIf($rahaa) ~~~ $paino;
 
   $rahaa | $paino
 -------------------
    10.00 | 2000
     5.50 | 2000
     5.49 | 1000
     3.50 | 1000
     3.49 |  500
     2.10 |  500
     2.09 |  250  
     1.30 |  250
     1.29 |  100
     0.90 |  100
     0.89 |   50
     0.60 |   50
     0.59 |    0
     0.50 |    0
 

suurinKirjeenPainoIf

public static int suurinKirjeenPainoIf(double rahaa)
Palautetaan suurinkirjeen paino, joka voidaan rahamäärällä lähettää
Toteutus if-lauseiden avulla.

Parameters:
rahaa - käytössä oleva rahamäärä
Returns:
suurin kirjeen paino joka voidaan lähettää
Example:
 suurinKirjeenPainoIf($rahaa) ~~~ $paino;
 
   $rahaa | $paino
 -------------------
    10.00 | 2000
     3.60 | 1000
     3.50 | 1000
     3.40 |  500
     0.50 |    0
 


Kirje2D

demo
Class Kirje2D

java.lang.Object
  extended by demo.Kirje2D

public class Kirje2D
extends java.lang.Object

Ohjelmalla tutkitaan postimaksun suuruutta, toteutettu 2D-taulukolla

Version:
1.0, 01.03.2003
Author:
Vesa Lappalainen

Field Summary
private static double[][] hinnat
           
private static int HINTA
           
private static int PAINO
           
 
Constructor Summary
Kirje2D()
           
 
Method Summary
static double postimaksu(int paino)
          Lasketaan tietyn painoisen kirjeen hinta
static int suurinKirjeenPaino(double rahaa)
          Palautetaan suurin kirjeen paino, joka voidaan rahamäärällä lähettää
Toteutus taulukoiden avulla.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

PAINO

private static final int PAINO
See Also:
Constant Field Values

HINTA

private static final int HINTA
See Also:
Constant Field Values

hinnat

private static double[][] hinnat
Constructor Detail

Kirje2D

public Kirje2D()
Method Detail

suurinKirjeenPaino

public static int suurinKirjeenPaino(double rahaa)
Palautetaan suurin kirjeen paino, joka voidaan rahamäärällä lähettää
Toteutus taulukoiden avulla.

Parameters:
rahaa - käytössä oleva rahamäärä
Returns:
suurin kirjeen paino joka voidaan lähettää
Example:
 suurinKirjeenPaino($rahaa) ~~~ $paino;
 
   $rahaa | $paino
 -------------------
    10.00 | 2000
     5.50 | 2000
     5.49 | 1000
     3.50 | 1000
     3.49 |  500
     2.10 |  500
     2.09 |  250  
     1.30 |  250
     1.29 |  100
     0.90 |  100
     0.89 |   50
     0.60 |   50
     0.59 |    0
     0.50 |    0
 

postimaksu

public static double postimaksu(int paino)
Lasketaan tietyn painoisen kirjeen hinta

Parameters:
paino - kirjeen paino
Returns:
kirjeen hinta
Example:
 postimaksu($paino) ~~~ $hinta;
 
   $paino | $hinta
 -------------------
    5000  | 0.00
    2000  | 5.50
    1999  | 5.50
    1001  | 5.50
    1000  | 3.50
     501  | 3.50
     500  | 2.10
     251  | 2.10  
     250  | 1.30
     101  | 1.30
     100  | 0.90
      51  | 0.90
      50  | 0.60
       1  | 0.60
       0  | 0.60
 


KirjeCla.HintaRivi

demo
Class KirjeCla.HintaRivi

java.lang.Object
  extended by demo.KirjeCla.HintaRivi
Enclosing class:
KirjeCla

public static class KirjeCla.HintaRivi
extends java.lang.Object

HintaRivi-luokka postimaksua varten

Version:
1.0, 01.03.2002
Author:
Vesa Lappalainen

Field Summary
private  double hinta
           
private  int paino
           
 
Constructor Summary
KirjeCla.HintaRivi(int paino, double hinta)
          Alustetaan yksi hintataulukon rivi
 
Method Summary
 double getHinta()
          Palautetaan rivin hinta
 int getPaino()
          Palautetaan hintaa vastaava paino
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

paino

private final int paino

hinta

private final double hinta
Constructor Detail

KirjeCla.HintaRivi

public KirjeCla.HintaRivi(int paino,
                          double hinta)
Alustetaan yksi hintataulukon rivi

Parameters:
paino -
hinta -
Method Detail

getHinta

public double getHinta()
Palautetaan rivin hinta

Returns:
hinta

getPaino

public int getPaino()
Palautetaan hintaa vastaava paino

Returns:
paino


KirjeCla

demo
Class KirjeCla

java.lang.Object
  extended by demo.KirjeCla

public class KirjeCla
extends java.lang.Object

Ohjelmalla tutkitaan postimaksun suuruutta, toteutettu olio-taulukolla

Version:
1.0, 01.03.2003
Author:
Vesa Lappalainen

Nested Class Summary
static class KirjeCla.HintaRivi
          HintaRivi-luokka postimaksua varten
 
Field Summary
private static KirjeCla.HintaRivi[] hinnat
           
 
Constructor Summary
KirjeCla()
           
 
Method Summary
static double postimaksu(int paino)
          Lasketaan tietyn painoisen kirjeen hinta
static int suurinKirjeenPaino(double rahaa)
          Palautetaan suurin kirjeen paino, joka voidaan rahamäärällä lähettää
Toteutus taulukoiden avulla.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

hinnat

private static final KirjeCla.HintaRivi[] hinnat
Constructor Detail

KirjeCla

public KirjeCla()
Method Detail

suurinKirjeenPaino

public static int suurinKirjeenPaino(double rahaa)
Palautetaan suurin kirjeen paino, joka voidaan rahamäärällä lähettää
Toteutus taulukoiden avulla.

Parameters:
rahaa - käytössä oleva rahamäärä
Returns:
suurin kirjeen paino joka voidaan lähettää
Example:
 suurinKirjeenPaino($rahaa) ~~~ $paino;
 
   $rahaa | $paino
 -------------------
    10.00 | 2000
     5.50 | 2000
     5.49 | 1000
     3.50 | 1000
     3.49 |  500
     2.10 |  500
     2.09 |  250  
     1.30 |  250
     1.29 |  100
     0.90 |  100
     0.89 |   50
     0.60 |   50
     0.59 |    0
     0.50 |    0
 

postimaksu

public static double postimaksu(int paino)
Lasketaan tietyn painoisen kirjeen hinta

Parameters:
paino - kirjeen paino
Returns:
kirjeen hinta
Example:
 postimaksu($paino) ~~~ $hinta;
 
   $paino | $hinta
 -------------------
    5000  | 0.00
    2000  | 5.50
    1999  | 5.50
    1001  | 5.50
    1000  | 3.50
     501  | 3.50
     500  | 2.10
     251  | 2.10  
     250  | 1.30
     101  | 1.30
     100  | 0.90
      51  | 0.90
      50  | 0.60
       1  | 0.60
       0  | 0.60
 


Kissat

demo
Class Kissat

java.lang.Object
  extended by demo.Kissat

public class Kissat
extends java.lang.Object

Ohjelma laskee syöttörivillä olevien kissa-sanojen lukumäärän

Version:
1.0, 10.01.2003
Author:
Vesa Lappalainen

Constructor Summary
Kissat()
           
 
Method Summary
static void main(java.lang.String[] args)
          Kissoja laskeva ohjelma
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

Kissat

public Kissat()
Method Detail

main

public static void main(java.lang.String[] args)
Kissoja laskeva ohjelma

Parameters:
args - ei käytössä


Koksqrt

demo
Class Koksqrt

java.lang.Object
  extended by demo.Koksqrt

public class Koksqrt
extends java.lang.Object

Lasketaan mitkä kokonaisluvut ovat jonkin luvun neliöitä.

Version:
1.0, 10.01.2003
Author:
Vesa Lappalainen

Constructor Summary
Koksqrt()
           
 
Method Summary
static void main(java.lang.String[] args)
          Testataan eri versioita laskennasta
private static void tulosta(int n1, int n2)
           
private static void tulostaNeliojuuret1(int raja)
           
private static void tulostaNeliojuuret2(int raja)
           
private static void tulostaNeliojuuret3(int r)
           
private static void tulostaNeliojuuret4(int raja)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

Koksqrt

public Koksqrt()
Method Detail

tulosta

private static void tulosta(int n1,
                            int n2)

tulostaNeliojuuret1

private static void tulostaNeliojuuret1(int raja)

tulostaNeliojuuret2

private static void tulostaNeliojuuret2(int raja)

tulostaNeliojuuret3

private static void tulostaNeliojuuret3(int r)

tulostaNeliojuuret4

private static void tulostaNeliojuuret4(int raja)

main

public static void main(java.lang.String[] args)
Testataan eri versioita laskennasta

Parameters:
args - ei käytössä


Kolmio

demo
Class Kolmio

java.lang.Object
  extended by demo.Kolmio

public class Kolmio
extends java.lang.Object

Ohjelma laskee tietoja suorakulmaisesta kolmiosta. Esimerkki muotoilusta.

Version:
1.0, 07.02.2003
Author:
Vesa Lappalainen

Constructor Summary
Kolmio()
           
 
Method Summary
static double hypotenuusa(double a, double b)
          Lasketaan kolmion hypotenuusan pituus Pythagoraan lauseella
static double kolmionAla(double a, double b)
          Lasketaan suorakulmaisen kolmion pinta-ala
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

Kolmio

public Kolmio()
Method Detail

hypotenuusa

public static double hypotenuusa(double a,
                                 double b)
Lasketaan kolmion hypotenuusan pituus Pythagoraan lauseella

Parameters:
a - 1. kateetti
b - 2. katetti
Returns:
hypotenuusan pituus
Example:
 #TOLERANCE=0.01
 hypotenuusa(0,0) ~~~ 0.0;
 hypotenuusa(0,1) ~~~ 1.0;
 hypotenuusa(1,1) ~~~ 1.41;
 hypotenuusa(1,2) ~~~ 2.24;
 hypotenuusa(2,3) ~~~ 3.61;
 hypotenuusa(3,4) ~~~ 5.0;
 hypotenuusa(5,6) ~~~ 7.81;
 

kolmionAla

public static double kolmionAla(double a,
                                double b)
Lasketaan suorakulmaisen kolmion pinta-ala

Parameters:
a - 1. kateetti
b - 2. katetti
Returns:
olmion pinta-ala
Example:
 #TOLERANCE=0.01
 kolmionAla(0,0) ~~~ 0.0;
 kolmionAla(0,1) ~~~ 0.0;
 kolmionAla(1,1) ~~~ 0.5;
 kolmionAla(1,2) ~~~ 1.0;
 kolmionAla(2,3) ~~~ 3.0;
 kolmionAla(3,4) ~~~ 6.0;
 kolmionAla(5,6) ~~~ 15.0;
 


KolmioPiirto

demo
Class KolmioPiirto

java.lang.Object
  extended by demo.KolmioPiirto

public class KolmioPiirto
extends java.lang.Object

Ohjelmalla piirretään rekursiivinen kolmio näyttöön

Version:
1.0, 24.03.2003
Author:
Vesa Lappalainen

Nested Class Summary
static class KolmioPiirto.PiirtoIkkuna
          Peritään piirto-ikkunan JFramesta
 
Field Summary
static double PIENIN_KOLMIO
          Raja pienimmälle kolmiolle joka piirretään
 
Constructor Summary
KolmioPiirto()
           
 
Method Summary
static void drawLine(java.awt.Graphics g, double x1, double y1, double x2, double y2)
          Piirretään viiva reaalilukukoordinaateista
static void kolmio(java.awt.Graphics g, double x, double y, double h)
          Rekursiivinen kolmion piirto.
static void main(java.lang.String[] args)
          Luodaan piirto-ikkuna rekursiivista kolmiota varten
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

PIENIN_KOLMIO

public static final double PIENIN_KOLMIO
Raja pienimmälle kolmiolle joka piirretään

See Also:
Constant Field Values
Constructor Detail

KolmioPiirto

public KolmioPiirto()
Method Detail

drawLine

public static void drawLine(java.awt.Graphics g,
                            double x1,
                            double y1,
                            double x2,
                            double y2)
Piirretään viiva reaalilukukoordinaateista

Parameters:
g - piirtopinta johon piirretään
x1 - viivan alku x
y1 - viivan alku y
x2 - viivan loppu x
y2 - viivan loppu y

kolmio

public static void kolmio(java.awt.Graphics g,
                          double x,
                          double y,
                          double h)
Rekursiivinen kolmion piirto. Piirretään ensin kolmio jonka alakärki o pisteessä x,y ja korkeus on h. Sitten piirretään sen joka sivulle vastaava kolmio-

Parameters:
g - piirtopinta johon piirretään
x - kolmion alakärjen x
y - kolmion alakärjen y
h - kolmion korkeus

main

public static void main(java.lang.String[] args)
Luodaan piirto-ikkuna rekursiivista kolmiota varten

Parameters:
args - ei käytössä


KolmioPiirto.PiirtoIkkuna

demo
Class KolmioPiirto.PiirtoIkkuna

java.lang.Object
  extended by java.awt.Component
      extended by java.awt.Container
          extended by java.awt.Window
              extended by java.awt.Frame
                  extended by javax.swing.JFrame
                      extended by demo.KolmioPiirto.PiirtoIkkuna
All Implemented Interfaces:
java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable, javax.accessibility.Accessible, javax.swing.RootPaneContainer, javax.swing.WindowConstants
Enclosing class:
KolmioPiirto

public static class KolmioPiirto.PiirtoIkkuna
extends javax.swing.JFrame

Peritään piirto-ikkunan JFramesta

See Also:
Serialized Form

Nested Class Summary
 class KolmioPiirto.PiirtoIkkuna.PiirtoPaneeli
          Peritään piirto-alue JPanelista
private  class KolmioPiirto.PiirtoIkkuna.SuljeIkkuna
           
 
Nested classes/interfaces inherited from class javax.swing.JFrame
javax.swing.JFrame.AccessibleJFrame
 
Nested classes/interfaces inherited from class java.awt.Frame
java.awt.Frame.AccessibleAWTFrame
 
Nested classes/interfaces inherited from class java.awt.Window
java.awt.Window.AccessibleAWTWindow
 
Nested classes/interfaces inherited from class java.awt.Container
java.awt.Container.AccessibleAWTContainer
 
Nested classes/interfaces inherited from class java.awt.Component
java.awt.Component.AccessibleAWTComponent, java.awt.Component.BaselineResizeBehavior, java.awt.Component.BltBufferStrategy, java.awt.Component.FlipBufferStrategy
 
Field Summary
private static long serialVersionUID
           
 
Fields inherited from class javax.swing.JFrame
accessibleContext, EXIT_ON_CLOSE, rootPane, rootPaneCheckingEnabled
 
Fields inherited from class java.awt.Frame
CROSSHAIR_CURSOR, DEFAULT_CURSOR, E_RESIZE_CURSOR, HAND_CURSOR, ICONIFIED, MAXIMIZED_BOTH, MAXIMIZED_HORIZ, MAXIMIZED_VERT, MOVE_CURSOR, N_RESIZE_CURSOR, NE_RESIZE_CURSOR, NORMAL, NW_RESIZE_CURSOR, S_RESIZE_CURSOR, SE_RESIZE_CURSOR, SW_RESIZE_CURSOR, TEXT_CURSOR, W_RESIZE_CURSOR, WAIT_CURSOR
 
Fields inherited from class java.awt.Component
BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
 
Fields inherited from interface javax.swing.WindowConstants
DISPOSE_ON_CLOSE, DO_NOTHING_ON_CLOSE, HIDE_ON_CLOSE
 
Fields inherited from interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
 
Constructor Summary
KolmioPiirto.PiirtoIkkuna(int x, int y, int w, int h)
          Alustetaan ikkunan tiedot
 
Method Summary
 
Methods inherited from class javax.swing.JFrame
addImpl, createRootPane, frameInit, getAccessibleContext, getContentPane, getDefaultCloseOperation, getGlassPane, getGraphics, getJMenuBar, getLayeredPane, getRootPane, getTransferHandler, isDefaultLookAndFeelDecorated, isRootPaneCheckingEnabled, paramString, processWindowEvent, remove, repaint, setContentPane, setDefaultCloseOperation, setDefaultLookAndFeelDecorated, setGlassPane, setIconImage, setJMenuBar, setLayeredPane, setLayout, setRootPane, setRootPaneCheckingEnabled, setTransferHandler, update
 
Methods inherited from class java.awt.Frame
addNotify, getCursorType, getExtendedState, getFrames, getIconImage, getMaximizedBounds, getMenuBar, getState, getTitle, isResizable, isUndecorated, remove, removeNotify, setCursor, setExtendedState, setMaximizedBounds, setMenuBar, setResizable, setState, setTitle, setUndecorated
 
Methods inherited from class java.awt.Window
addPropertyChangeListener, addPropertyChangeListener, addWindowFocusListener, addWindowListener, addWindowStateListener, applyResourceBundle, applyResourceBundle, createBufferStrategy, createBufferStrategy, dispose, getBufferStrategy, getFocusableWindowState, getFocusCycleRootAncestor, getFocusOwner, getFocusTraversalKeys, getGraphicsConfiguration, getIconImages, getInputContext, getListeners, getLocale, getModalExclusionType, getMostRecentFocusOwner, getOwnedWindows, getOwner, getOwnerlessWindows, getToolkit, getWarningString, getWindowFocusListeners, getWindowListeners, getWindows, getWindowStateListeners, hide, isActive, isAlwaysOnTop, isAlwaysOnTopSupported, isFocusableWindow, isFocusCycleRoot, isFocused, isLocationByPlatform, isShowing, pack, postEvent, processEvent, processWindowFocusEvent, processWindowStateEvent, removeWindowFocusListener, removeWindowListener, removeWindowStateListener, reshape, setAlwaysOnTop, setBounds, setBounds, setCursor, setFocusableWindowState, setFocusCycleRoot, setIconImages, setLocationByPlatform, setLocationRelativeTo, setMinimumSize, setModalExclusionType, setSize, setSize, setVisible, show, toBack, toFront
 
Methods inherited from class java.awt.Container
add, add, add, add, add, addContainerListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getAlignmentX, getAlignmentY, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalPolicy, getInsets, getLayout, getMaximumSize, getMinimumSize, getMousePosition, getPreferredSize, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paint, paintComponents, preferredSize, print, printComponents, processContainerEvent, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusTraversalKeys, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setFont, transferFocusBackward, transferFocusDownCycle, validate, validateTree
 
Methods inherited from class java.awt.Component
action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, bounds, checkImage, checkImage, coalesceEvents, contains, contains, createImage, createImage, createVolatileImage, createVolatileImage, disable, disableEvents, dispatchEvent, enable, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getBackground, getBaseline, getBaselineResizeBehavior, getBounds, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getFontMetrics, getForeground, getHeight, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocation, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPeer, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getSize, getTreeLock, getWidth, getX, getY, gotFocus, handleEvent, hasFocus, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isDoubleBuffered, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isOpaque, isPreferredSizeSet, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, prepareImage, prepareImage, printAll, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processKeyEvent, processMouseEvent, processMouseMotionEvent, processMouseWheelEvent, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resize, resize, setBackground, setComponentOrientation, setDropTarget, setEnabled, setFocusable, setFocusTraversalKeysEnabled, setForeground, setIgnoreRepaint, setLocale, setLocation, setLocation, setMaximumSize, setName, setPreferredSize, show, size, toString, transferFocus, transferFocusUpCycle
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface java.awt.MenuContainer
getFont, postEvent
 

Field Detail

serialVersionUID

private static final long serialVersionUID
See Also:
Constant Field Values
Constructor Detail

KolmioPiirto.PiirtoIkkuna

public KolmioPiirto.PiirtoIkkuna(int x,
                                 int y,
                                 int w,
                                 int h)
Alustetaan ikkunan tiedot

Parameters:
x - ylänurkan x
y - ylänurkan y
w - ikkunan leveys
h - ikkunan korkeus


KolmioPiirto.PiirtoIkkuna.PiirtoPaneeli

demo
Class KolmioPiirto.PiirtoIkkuna.PiirtoPaneeli

java.lang.Object
  extended by java.awt.Component
      extended by java.awt.Container
          extended by javax.swing.JComponent
              extended by javax.swing.JPanel
                  extended by demo.KolmioPiirto.PiirtoIkkuna.PiirtoPaneeli
All Implemented Interfaces:
java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable, javax.accessibility.Accessible
Enclosing class:
KolmioPiirto.PiirtoIkkuna

public class KolmioPiirto.PiirtoIkkuna.PiirtoPaneeli
extends javax.swing.JPanel

Peritään piirto-alue JPanelista

See Also:
Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from class javax.swing.JPanel
javax.swing.JPanel.AccessibleJPanel
 
Nested classes/interfaces inherited from class javax.swing.JComponent
javax.swing.JComponent.AccessibleJComponent
 
Nested classes/interfaces inherited from class java.awt.Container
java.awt.Container.AccessibleAWTContainer
 
Nested classes/interfaces inherited from class java.awt.Component
java.awt.Component.AccessibleAWTComponent, java.awt.Component.BaselineResizeBehavior, java.awt.Component.BltBufferStrategy, java.awt.Component.FlipBufferStrategy
 
Field Summary
private static long serialVersionUID
           
 
Fields inherited from class javax.swing.JComponent
accessibleContext, listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW
 
Fields inherited from class java.awt.Component
BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
 
Fields inherited from interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
 
Constructor Summary
KolmioPiirto.PiirtoIkkuna.PiirtoPaneeli()
           
 
Method Summary
 void paintComponent(java.awt.Graphics g)
          Komponentin piirtäminen.
 
Methods inherited from class javax.swing.JPanel
getAccessibleContext, getUI, getUIClassID, paramString, setUI, updateUI
 
Methods inherited from class javax.swing.JComponent
addAncestorListener, addNotify, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, getBaseline, getBaselineResizeBehavior, getBorder, getBounds, getClientProperty, getComponentGraphics, getComponentPopupMenu, getConditionForKeyStroke, getDebugGraphicsOptions, getDefaultLocale, getFontMetrics, getGraphics, getHeight, getInheritsPopupMenu, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getPopupLocation, getPreferredSize, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getTransferHandler, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getWidth, getVisibleRect, getX, getY, grabFocus, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, paintImmediately, paintImmediately, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processKeyBinding, processKeyEvent, processMouseEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeNotify, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resetKeyboardActions, reshape, revalidate, scrollRectToVisible, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setComponentPopupMenu, setDebugGraphicsOptions, setDefaultLocale, setDoubleBuffered, setEnabled, setFocusTraversalKeys, setFont, setForeground, setInheritsPopupMenu, setInputMap, setInputVerifier, setMaximumSize, setMinimumSize, setNextFocusableComponent, setOpaque, setPreferredSize, setRequestFocusEnabled, setToolTipText, setTransferHandler, setUI, setVerifyInputWhenFocusTarget, setVisible, unregisterKeyboardAction, update
 
Methods inherited from class java.awt.Container
add, add, add, add, add, addContainerListener, addImpl, addPropertyChangeListener, addPropertyChangeListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalKeys, getFocusTraversalPolicy, getLayout, getMousePosition, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, printComponents, processContainerEvent, processEvent, remove, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusCycleRoot, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setLayout, transferFocusBackward, transferFocusDownCycle, validate, validateTree
 
Methods inherited from class java.awt.Component
action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, bounds, checkImage, checkImage, coalesceEvents, contains, createImage, createImage, createVolatileImage, createVolatileImage, disableEvents, dispatchEvent, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getBackground, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getForeground, getGraphicsConfiguration, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocale, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPeer, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, hide, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isPreferredSizeSet, isShowing, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, postEvent, prepareImage, prepareImage, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setName, setSize, setSize, show, show, size, toString, transferFocus, transferFocusUpCycle
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

serialVersionUID

private static final long serialVersionUID
See Also:
Constant Field Values
Constructor Detail

KolmioPiirto.PiirtoIkkuna.PiirtoPaneeli

public KolmioPiirto.PiirtoIkkuna.PiirtoPaneeli()
Method Detail

paintComponent

public void paintComponent(java.awt.Graphics g)
Komponentin piirtäminen. Piirretään kolmio.

Overrides:
paintComponent in class javax.swing.JComponent
Parameters:
g - piirtopinta


KolmioPiirto.PiirtoIkkuna.SuljeIkkuna

demo
Class KolmioPiirto.PiirtoIkkuna.SuljeIkkuna

java.lang.Object
  extended by java.awt.event.WindowAdapter
      extended by demo.KolmioPiirto.PiirtoIkkuna.SuljeIkkuna
All Implemented Interfaces:
java.awt.event.WindowFocusListener, java.awt.event.WindowListener, java.awt.event.WindowStateListener, java.util.EventListener
Enclosing class:
KolmioPiirto.PiirtoIkkuna

private class KolmioPiirto.PiirtoIkkuna.SuljeIkkuna
extends java.awt.event.WindowAdapter


Constructor Summary
private KolmioPiirto.PiirtoIkkuna.SuljeIkkuna()
           
 
Method Summary
 void windowClosing(java.awt.event.WindowEvent event)
          Sulkemismetodi
 
Methods inherited from class java.awt.event.WindowAdapter
windowActivated, windowClosed, windowDeactivated, windowDeiconified, windowGainedFocus, windowIconified, windowLostFocus, windowOpened, windowStateChanged
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

KolmioPiirto.PiirtoIkkuna.SuljeIkkuna

private KolmioPiirto.PiirtoIkkuna.SuljeIkkuna()
Method Detail

windowClosing

public void windowClosing(java.awt.event.WindowEvent event)
Sulkemismetodi

Specified by:
windowClosing in interface java.awt.event.WindowListener
Overrides:
windowClosing in class java.awt.event.WindowAdapter
Parameters:
event - sulkemistapahtuman tiedot


KolmioPiirtoAWT

demo
Class KolmioPiirtoAWT

java.lang.Object
  extended by demo.KolmioPiirtoAWT

public class KolmioPiirtoAWT
extends java.lang.Object

Ohjelmalla piirretään rekursiivinen kolmio näyttöön

Version:
1.0, 24.03.2003
Author:
Vesa Lappalainen

Nested Class Summary
static class KolmioPiirtoAWT.PiirtoIkkuna
          Ikkunaluokka johon piirretään
 
Field Summary
static double PIENIN_KOLMIO
          Raja pienimmälle kolmiolle joka piirretään
 
Constructor Summary
KolmioPiirtoAWT()
           
 
Method Summary
static void drawLine(java.awt.Graphics g, double x1, double y1, double x2, double y2)
          Piirretään viiva reaalilukukoordinaateista
static void kolmio(java.awt.Graphics g, double x, double y, double h)
          Rekursiivinen kolmion piirto.
static void main(java.lang.String[] args)
          Luodaan piirto-ikkuna rekursiivista kolmiota varten
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

PIENIN_KOLMIO

public static final double PIENIN_KOLMIO
Raja pienimmälle kolmiolle joka piirretään

See Also:
Constant Field Values
Constructor Detail

KolmioPiirtoAWT

public KolmioPiirtoAWT()
Method Detail

drawLine

public static void drawLine(java.awt.Graphics g,
                            double x1,
                            double y1,
                            double x2,
                            double y2)
Piirretään viiva reaalilukukoordinaateista

Parameters:
g - piirtopinta johon piirretään
x1 - viivan alku x
y1 - viivan alku y
x2 - viivan loppu x
y2 - viivan loppu y

kolmio

public static void kolmio(java.awt.Graphics g,
                          double x,
                          double y,
                          double h)
Rekursiivinen kolmion piirto. Piirretään ensin kolmio jonka alakärki o pisteessä x,y ja korkeus on h. Sitten piirretään sen joka sivulle vastaava kolmio-

Parameters:
g - piirtopinta johon piirretään
x - kolmion alakärjen x
y - kolmion alakärjen y
h - kolmion korkeus

main

public static void main(java.lang.String[] args)
Luodaan piirto-ikkuna rekursiivista kolmiota varten

Parameters:
args - ei käytössä


KolmioPiirtoAWT.PiirtoIkkuna

demo
Class KolmioPiirtoAWT.PiirtoIkkuna

java.lang.Object
  extended by java.awt.Component
      extended by java.awt.Container
          extended by java.awt.Window
              extended by java.awt.Frame
                  extended by demo.KolmioPiirtoAWT.PiirtoIkkuna
All Implemented Interfaces:
java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable, javax.accessibility.Accessible
Enclosing class:
KolmioPiirtoAWT

public static class KolmioPiirtoAWT.PiirtoIkkuna
extends java.awt.Frame

Ikkunaluokka johon piirretään

See Also:
Serialized Form

Nested Class Summary
private  class KolmioPiirtoAWT.PiirtoIkkuna.SuljeIkkuna
           
 
Nested classes/interfaces inherited from class java.awt.Frame
java.awt.Frame.AccessibleAWTFrame
 
Nested classes/interfaces inherited from class java.awt.Window
java.awt.Window.AccessibleAWTWindow
 
Nested classes/interfaces inherited from class java.awt.Container
java.awt.Container.AccessibleAWTContainer
 
Nested classes/interfaces inherited from class java.awt.Component
java.awt.Component.AccessibleAWTComponent, java.awt.Component.BaselineResizeBehavior, java.awt.Component.BltBufferStrategy, java.awt.Component.FlipBufferStrategy
 
Field Summary
private static long serialVersionUID
           
 
Fields inherited from class java.awt.Frame
CROSSHAIR_CURSOR, DEFAULT_CURSOR, E_RESIZE_CURSOR, HAND_CURSOR, ICONIFIED, MAXIMIZED_BOTH, MAXIMIZED_HORIZ, MAXIMIZED_VERT, MOVE_CURSOR, N_RESIZE_CURSOR, NE_RESIZE_CURSOR, NORMAL, NW_RESIZE_CURSOR, S_RESIZE_CURSOR, SE_RESIZE_CURSOR, SW_RESIZE_CURSOR, TEXT_CURSOR, W_RESIZE_CURSOR, WAIT_CURSOR
 
Fields inherited from class java.awt.Component
BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
 
Fields inherited from interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
 
Constructor Summary
KolmioPiirtoAWT.PiirtoIkkuna(int x, int y, int w, int h)
          Alustetaan ikkunan rajat
 
Method Summary
 void paint(java.awt.Graphics g)
          Komponentin piirtäminen.
 
Methods inherited from class java.awt.Frame
addNotify, getAccessibleContext, getCursorType, getExtendedState, getFrames, getIconImage, getMaximizedBounds, getMenuBar, getState, getTitle, isResizable, isUndecorated, paramString, remove, removeNotify, setCursor, setExtendedState, setIconImage, setMaximizedBounds, setMenuBar, setResizable, setState, setTitle, setUndecorated
 
Methods inherited from class java.awt.Window
addPropertyChangeListener, addPropertyChangeListener, addWindowFocusListener, addWindowListener, addWindowStateListener, applyResourceBundle, applyResourceBundle, createBufferStrategy, createBufferStrategy, dispose, getBufferStrategy, getFocusableWindowState, getFocusCycleRootAncestor, getFocusOwner, getFocusTraversalKeys, getGraphicsConfiguration, getIconImages, getInputContext, getListeners, getLocale, getModalExclusionType, getMostRecentFocusOwner, getOwnedWindows, getOwner, getOwnerlessWindows, getToolkit, getWarningString, getWindowFocusListeners, getWindowListeners, getWindows, getWindowStateListeners, hide, isActive, isAlwaysOnTop, isAlwaysOnTopSupported, isFocusableWindow, isFocusCycleRoot, isFocused, isLocationByPlatform, isShowing, pack, postEvent, processEvent, processWindowEvent, processWindowFocusEvent, processWindowStateEvent, removeWindowFocusListener, removeWindowListener, removeWindowStateListener, reshape, setAlwaysOnTop, setBounds, setBounds, setCursor, setFocusableWindowState, setFocusCycleRoot, setIconImages, setLocationByPlatform, setLocationRelativeTo, setMinimumSize, setModalExclusionType, setSize, setSize, setVisible, show, toBack, toFront
 
Methods inherited from class java.awt.Container
add, add, add, add, add, addContainerListener, addImpl, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getAlignmentX, getAlignmentY, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalPolicy, getInsets, getLayout, getMaximumSize, getMinimumSize, getMousePosition, getPreferredSize, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, print, printComponents, processContainerEvent, remove, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusTraversalKeys, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setFont, setLayout, transferFocusBackward, transferFocusDownCycle, update, validate, validateTree
 
Methods inherited from class java.awt.Component
action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, bounds, checkImage, checkImage, coalesceEvents, contains, contains, createImage, createImage, createVolatileImage, createVolatileImage, disable, disableEvents, dispatchEvent, enable, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getBackground, getBaseline, getBaselineResizeBehavior, getBounds, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getFontMetrics, getForeground, getGraphics, getHeight, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocation, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPeer, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getSize, getTreeLock, getWidth, getX, getY, gotFocus, handleEvent, hasFocus, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isDoubleBuffered, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isOpaque, isPreferredSizeSet, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, prepareImage, prepareImage, printAll, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processKeyEvent, processMouseEvent, processMouseMotionEvent, processMouseWheelEvent, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, repaint, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resize, resize, setBackground, setComponentOrientation, setDropTarget, setEnabled, setFocusable, setFocusTraversalKeysEnabled, setForeground, setIgnoreRepaint, setLocale, setLocation, setLocation, setMaximumSize, setName, setPreferredSize, show, size, toString, transferFocus, transferFocusUpCycle
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface java.awt.MenuContainer
getFont, postEvent
 

Field Detail

serialVersionUID

private static final long serialVersionUID
See Also:
Constant Field Values
Constructor Detail

KolmioPiirtoAWT.PiirtoIkkuna

public KolmioPiirtoAWT.PiirtoIkkuna(int x,
                                    int y,
                                    int w,
                                    int h)
Alustetaan ikkunan rajat

Parameters:
x - ylänurkan x
y - ylänurkan y
w - ikkunan leveys
h - ikkunan kokrkeus
Method Detail

paint

public void paint(java.awt.Graphics g)
Komponentin piirtäminen. Piirretään kolmio.

Overrides:
paint in class java.awt.Container
Parameters:
g - piirtopinta


KolmioPiirtoAWT.PiirtoIkkuna.SuljeIkkuna

demo
Class KolmioPiirtoAWT.PiirtoIkkuna.SuljeIkkuna

java.lang.Object
  extended by java.awt.event.WindowAdapter
      extended by demo.KolmioPiirtoAWT.PiirtoIkkuna.SuljeIkkuna
All Implemented Interfaces:
java.awt.event.WindowFocusListener, java.awt.event.WindowListener, java.awt.event.WindowStateListener, java.util.EventListener
Enclosing class:
KolmioPiirtoAWT.PiirtoIkkuna

private class KolmioPiirtoAWT.PiirtoIkkuna.SuljeIkkuna
extends java.awt.event.WindowAdapter


Constructor Summary
private KolmioPiirtoAWT.PiirtoIkkuna.SuljeIkkuna()
           
 
Method Summary
 void windowClosing(java.awt.event.WindowEvent event)
          Sulkemismetodi
 
Methods inherited from class java.awt.event.WindowAdapter
windowActivated, windowClosed, windowDeactivated, windowDeiconified, windowGainedFocus, windowIconified, windowLostFocus, windowOpened, windowStateChanged
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

KolmioPiirtoAWT.PiirtoIkkuna.SuljeIkkuna

private KolmioPiirtoAWT.PiirtoIkkuna.SuljeIkkuna()
Method Detail

windowClosing

public void windowClosing(java.awt.event.WindowEvent event)
Sulkemismetodi

Specified by:
windowClosing in interface java.awt.event.WindowListener
Overrides:
windowClosing in class java.awt.event.WindowAdapter
Parameters:
event - sulkemistapahtuman tiedot


KolmioPiirtoSWT

demo
Class KolmioPiirtoSWT

java.lang.Object
  extended by demo.KolmioPiirtoSWT

public class KolmioPiirtoSWT
extends java.lang.Object

Kolmionpiirto SWT:llä


Field Summary
static double PIENIN_KOLMIO
          Raja pienimmälle kolmiolle joka piirretään
private  Shell shell
           
 
Constructor Summary
KolmioPiirtoSWT()
           
 
Method Summary
private  void createShell()
          This method initializes sShell
static void drawLine(GC g, double x1, double y1, double x2, double y2)
          Piirretään viiva reaalilukukoordinaateista
static void kolmio(GC g, double x, double y, double h)
          Rekursiivinen kolmion piirto.
static void main(java.lang.String[] args)
          Luodaan ikkuna ja aloitetaan viestisilmukka
 void paintControl(PaintEvent e)
          Piirretään kolmio
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

PIENIN_KOLMIO

public static final double PIENIN_KOLMIO
Raja pienimmälle kolmiolle joka piirretään

See Also:
Constant Field Values

shell

private Shell shell
Constructor Detail

KolmioPiirtoSWT

public KolmioPiirtoSWT()
Method Detail

drawLine

public static void drawLine(GC g,
                            double x1,
                            double y1,
                            double x2,
                            double y2)
Piirretään viiva reaalilukukoordinaateista

Parameters:
g - piirtopinta johon piirretään
x1 - viivan alku x
y1 - viivan alku y
x2 - viivan loppu x
y2 - viivan loppu y

kolmio

public static void kolmio(GC g,
                          double x,
                          double y,
                          double h)
Rekursiivinen kolmion piirto. Piirretään ensin kolmio jonka alakärki o pisteessä x,y ja korkeus on h. Sitten piirretään sen joka sivulle vastaava kolmio-

Parameters:
g - piirtopinta johon piirretään
x - kolmion alakärjen x
y - kolmion alakärjen y
h - kolmion korkeus

paintControl

public void paintControl(PaintEvent e)
Piirretään kolmio

Parameters:
e - piirtämiseen liittyvä tapahtuma

createShell

private void createShell()
This method initializes sShell


main

public static void main(java.lang.String[] args)
Luodaan ikkuna ja aloitetaan viestisilmukka

Parameters:
args - ei käytössä


Kombinaatiot

demo
Class Kombinaatiot

java.lang.Object
  extended by demo.Kombinaatiot

public class Kombinaatiot
extends java.lang.Object

Kombinaatiot-luokka erilaisten summakombinaatioiden määrittelemiseksi.

 Esimerkiksi luvuista 3 5 9
 saadaan aikaiseksi summat: 3 5 8 9 12 14 17
 

Version:
1.0, 14.02.2003, 1.1, 24.02.2007/vl Lisätty taulukon järjestäminen.
Author:
Vesa Lappalainen

Field Summary
private  int kombinaationNro
           
private  int lkm
           
private  int[] luvut
           
private static int MAXESIINTYMALUKUJA
           
 
Constructor Summary
Kombinaatiot()
          Alustetaan kombinaatioiden laskuri
 
Method Summary
 int eka()
          Siirtyy ensimmäiseen summakombinaatioon ja palauttaa sen
 void lisaa(int luku)
          Lisää uuden luvun jonka kombinaatiota voidaan käyttää summassa.
 int loppu()
          "Iteraattorin loppuarvo"
static void main(java.lang.String[] args)
          Testiohjelma summakombinaatioille
 int seuraava()
          Otetaan käyttöön seuraava summakombinaatio luvuista.
 java.lang.String summaKombinaatiot()
          Palauttaa merkkijonona ne summakombinaatiot jotka toistaiseksi saadaan aikaiseksi.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

MAXESIINTYMALUKUJA

private static final int MAXESIINTYMALUKUJA
See Also:
Constant Field Values

lkm

private int lkm

luvut

private int[] luvut

kombinaationNro

private int kombinaationNro
Constructor Detail

Kombinaatiot

public Kombinaatiot()
Alustetaan kombinaatioiden laskuri

Method Detail

lisaa

public void lisaa(int luku)
Lisää uuden luvun jonka kombinaatiota voidaan käyttää summassa.

Parameters:
luku -
Example:
  Kombinaatiot kombi = new Kombinaatiot();
  kombi.lisaa($luku);                               // NOPMD
  kombi.summaKombinaatiot() === $kombinaatiot;
  
    $luku     |  $kombinaatiot
  --------------------------------------------------------
     ---      | ""                                          
     3        | "3 "
     5        | "3 5 8 "
     9        | "3 5 8 9 12 14 17 "
     1        | "1 3 4 5 6 8 9 9 10 12 13 14 15 17 18 "
       
 

loppu

public int loppu()
"Iteraattorin loppuarvo"

Returns:
loppuarvo

eka

public int eka()
Siirtyy ensimmäiseen summakombinaatioon ja palauttaa sen

Returns:
ensimmäinen summakombinaatio
Example:
  Kombinaatiot kombi = new Kombinaatiot();
  kombi.eka() === kombi.loppu();
  kombi.lisaa(3);  kombi.eka() === 3;   
  kombi.lisaa(1);  kombi.eka() === 1;

seuraava

public int seuraava()
Otetaan käyttöön seuraava summakombinaatio luvuista. kombinaation_nro on kombinaation numero. Jos kombinaation_nro ajatellaan binääriluvuksi, niin käytetään summassa kaikkia niitä lukuja, joita vastaavissa kohdissa kombinaation_nro:ssa on bitti päällä Kun käydään läpi kaikki kombinaatioiden numerot 1..n, niin tulee käytyä läpi kaikki binääriluvut (jos lkm=3 => 001 010 011 100 101 111) 1..2^lkm, eli kaikki kombinaatiot, joissa on lkm-bittiä ja ainakin yksi bitti päällä. Kun kullakin kombinaation numerolla summataan ne luvut, joiden kohdalla bitti on päällä, tulee siis käytyä läpi kaikki summakombinaatiot

Returns:
seuraava kombinaatiosumma
Example:
  Kombinaatiot kombi = new Kombinaatiot();
  kombi.eka() === kombi.loppu();
  kombi.lisaa(3);  kombi.eka() === 3; 
  kombi.seuraava() === kombi.loppu();
     
  kombi.lisaa(1);  kombi.eka() === 1;
  kombi.seuraava() === 3;  
  kombi.seuraava() === 4;  
  kombi.seuraava() === kombi.loppu();

summaKombinaatiot

public java.lang.String summaKombinaatiot()
Palauttaa merkkijonona ne summakombinaatiot jotka toistaiseksi saadaan aikaiseksi.

Returns:
summakombinaatiot merkkijonona
Example:
  Kombinaatiot kombi = new Kombinaatiot();
  kombi.summaKombinaatiot() === "";
  kombi.lisaa(3); kombi.summaKombinaatiot() === "3 ";
  kombi.lisaa(1); kombi.summaKombinaatiot() === "1 3 4 ";
 

main

public static void main(java.lang.String[] args)
Testiohjelma summakombinaatioille

Parameters:
args - ei käytössä


Kopioituva

demo
Interface Kopioituva

All Known Implementing Classes:
Int

public interface Kopioituva

Rajapinta kopioituvista olioista joilla on clone metodi toteutettuna

Author:
vesal

Method Summary
 java.lang.Object clone()
          Metodi joka tuottaa oliosta mielellään syväkopion
 

Method Detail

clone

java.lang.Object clone()
                       throws java.lang.CloneNotSupportedException
Metodi joka tuottaa oliosta mielellään syväkopion

Returns:
olion kopio
Throws:
java.lang.CloneNotSupportedException


Koulu

demo
Class Koulu

java.lang.Object
  extended by demo.Koulu

public class Koulu
extends java.lang.Object

Esimerkki linkitetystä listasta. Kun täydennät, ota @SuppressWarnings("unused") rivit pois

Version:
1.0, 15.03.2003
Author:
Vesa Lappalainen

Nested Class Summary
static class Koulu.Oppilas
          Luokan yksi oppilas
 
Field Summary
private  Koulu.Oppilas ensimmainen
           
private  java.lang.String luokka
           
private  int oppilaita
           
private  Koulu.Oppilas viimeinen
           
 
Constructor Summary
Koulu(java.lang.String luokka)
          Alustetaan luokka
 
Method Summary
 void lisaa(Koulu.Oppilas oppilas)
          Lisätään uusi oppilas
static void main(java.lang.String[] args)
          Testataan luokkaa
 void poistaKaikki()
          Poistetaan kaikki luokan oppilaat
 void tulosta(java.io.OutputStream os)
          Tulostetaan luokan tiedot tietovirtaan.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

luokka

private final java.lang.String luokka

oppilaita

private int oppilaita

ensimmainen

private Koulu.Oppilas ensimmainen

viimeinen

private Koulu.Oppilas viimeinen
Constructor Detail

Koulu

public Koulu(java.lang.String luokka)
Alustetaan luokka

Parameters:
luokka -
Method Detail

lisaa

public void lisaa(Koulu.Oppilas oppilas)
Lisätään uusi oppilas

Parameters:
oppilas -
Example:
 #import java.io.ByteArrayOutputStream;
 #CLASSIMPORT
  ByteArrayOutputStream bs  = new ByteArrayOutputStream();
  String alku =  "%n%nLuokka: 1b oppilaita: %d%n" +
                 "==========================================%n";
  String loppu = "==========================================%n";
  String t = "";
  
  Koulu luokka = new Koulu("1b");
  
  luokka.lisaa(new Koulu.Oppilas($nimi,$ka)); // NOPMD
  luokka.tulosta(bs);
  bs.toString() === String.format(alku+($oppilaat)+loppu,$maara); bs.reset();
  
    $nimi       | $ka | $maara | $oppilaat
  -------------------------------------------------------------------------------
    ---         | --- |   0    | t=""                    
  "Ankka Aku"   | 5.0 |   1    | t+="Ankka Aku              keskiarvo:  5.00%n"
  "Ankka Tupu"  | 7.0 |   2    | t+="Ankka Tupu             keskiarvo:  7.00%n"
  "Hiiri Mikki" | 9.0 |   3    | t+="Hiiri Mikki            keskiarvo:  9.00%n"
                 
  
  luokka.poistaKaikki();
                
  luokka.lisaa(new Koulu.Oppilas($nimi,$ka)); // NOPMD
  luokka.tulosta(bs);
  bs.toString() === String.format(alku+($oppilaat)+loppu,$maara);  bs.reset();

    $nimi       | $ka | $maara | $oppilaat
  -------------------------------------------------------------------------------
    ---         | --- |   0    | t=""                   
  "Hiiri Mikki" | 9.0 |   1    | t+="Hiiri Mikki            keskiarvo:  9.00%n"
                 
 

tulosta

public void tulosta(java.io.OutputStream os)
Tulostetaan luokan tiedot tietovirtaan.

Parameters:
os -

poistaKaikki

public void poistaKaikki()
Poistetaan kaikki luokan oppilaat


main

public static void main(java.lang.String[] args)
Testataan luokkaa

Parameters:
args - ei käytössä


Koulu.Oppilas

demo
Class Koulu.Oppilas

java.lang.Object
  extended by demo.Koulu.Oppilas
Enclosing class:
Koulu

public static class Koulu.Oppilas
extends java.lang.Object

Luokan yksi oppilas


Field Summary
private  double keskiarvo
           
private  java.lang.String nimi
           
private  Koulu.Oppilas seuraava
           
 
Constructor Summary
Koulu.Oppilas(java.lang.String nimi, double keskiarvo)
          Alustetaan oppilaan tiedot
 
Method Summary
 java.lang.String toString()
          Palautetaan oppilaan tiedot merkkijonona
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

nimi

private final java.lang.String nimi

keskiarvo

private final double keskiarvo

seuraava

private Koulu.Oppilas seuraava
Constructor Detail

Koulu.Oppilas

public Koulu.Oppilas(java.lang.String nimi,
                     double keskiarvo)
Alustetaan oppilaan tiedot

Parameters:
nimi - oppilaan nimi
keskiarvo - oppilaan keskiarvo
Method Detail

toString

public java.lang.String toString()
Palautetaan oppilaan tiedot merkkijonona

Overrides:
toString in class java.lang.Object
Returns:
oppilaan tiedot merkkijonona


KouluLuokka

demo
Class KouluLuokka

java.lang.Object
  extended by demo.KouluLuokka

public class KouluLuokka
extends java.lang.Object

Esimerkki linkitetystä listasta,

Version:
1.0, 15.03.2003
Author:
Vesa Lappalainen

Nested Class Summary
static class KouluLuokka.Oppilas
          Luokan yksi oppilas
 
Field Summary
private  KouluLuokka.Oppilas ensimmainen
           
private  java.lang.String luokka
           
private  int oppilaita
           
private  KouluLuokka.Oppilas viimeinen
           
 
Constructor Summary
KouluLuokka(java.lang.String luokka)
          Alustetaan luokka
 
Method Summary
 void lisaa(KouluLuokka.Oppilas oppilas)
          Lisätään uusi oppilas
static void main(java.lang.String[] args)
          Testataan luokkaa
 void poistaKaikki()
          Poistetaan kaikki luokan oppilaat
 void tulosta(java.io.OutputStream os)
          Tulostetaan luokan tiedot tietovirtaan.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

luokka

private final java.lang.String luokka

oppilaita

private int oppilaita

ensimmainen

private KouluLuokka.Oppilas ensimmainen

viimeinen

private KouluLuokka.Oppilas viimeinen
Constructor Detail

KouluLuokka

public KouluLuokka(java.lang.String luokka)
Alustetaan luokka

Parameters:
luokka -
Method Detail

lisaa

public void lisaa(KouluLuokka.Oppilas oppilas)
Lisätään uusi oppilas

Parameters:
oppilas -
Example:
 #import java.io.ByteArrayOutputStream;
 #CLASSIMPORT
  ByteArrayOutputStream bs  = new ByteArrayOutputStream();
  String alku =  "%n%nLuokka: 1b oppilaita: %d%n" +
                 "==========================================%n";
  String loppu = "==========================================%n";
  String t = "";
  
  KouluLuokka luokka = new KouluLuokka("1b");
  
  luokka.lisaa(new KouluLuokka.Oppilas($nimi,$ka)); // NOPMD
  luokka.tulosta(bs);
  bs.toString() === String.format(alku+($oppilaat)+loppu,$maara); bs.reset();
  
    $nimi       | $ka | $maara | $oppilaat
  -------------------------------------------------------------------------------
    ---         | --- |   0    | t=""                    
  "Ankka Aku"   | 5.0 |   1    | t+="Ankka Aku              keskiarvo:  5.00%n"
  "Ankka Tupu"  | 7.0 |   2    | t+="Ankka Tupu             keskiarvo:  7.00%n"
  "Hiiri Mikki" | 9.0 |   3    | t+="Hiiri Mikki            keskiarvo:  9.00%n"
                 
  
  luokka.poistaKaikki();
                
  luokka.lisaa(new KouluLuokka.Oppilas($nimi,$ka)); // NOPMD
  luokka.tulosta(bs);
  bs.toString() === String.format(alku+($oppilaat)+loppu,$maara);  bs.reset();

    $nimi       | $ka | $maara | $oppilaat
  -------------------------------------------------------------------------------
    ---         | --- |   0    | t=""                   
  "Hiiri Mikki" | 9.0 |   1    | t+="Hiiri Mikki            keskiarvo:  9.00%n"
                 
 

tulosta

public void tulosta(java.io.OutputStream os)
Tulostetaan luokan tiedot tietovirtaan.

Parameters:
os -

poistaKaikki

public void poistaKaikki()
Poistetaan kaikki luokan oppilaat


main

public static void main(java.lang.String[] args)
Testataan luokkaa

Parameters:
args - ei käytössä


KouluLuokka.Oppilas

demo
Class KouluLuokka.Oppilas

java.lang.Object
  extended by demo.KouluLuokka.Oppilas
Enclosing class:
KouluLuokka

public static class KouluLuokka.Oppilas
extends java.lang.Object

Luokan yksi oppilas


Field Summary
private  double keskiarvo
           
private  java.lang.String nimi
           
private  KouluLuokka.Oppilas seuraava
           
 
Constructor Summary
KouluLuokka.Oppilas(java.lang.String nimi, double keskiarvo)
          Alustetaan oppilaan tiedot
 
Method Summary
 java.lang.String toString()
          Palautetaan oppilaan tiedot merkkijonona
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

nimi

private final java.lang.String nimi

keskiarvo

private final double keskiarvo

seuraava

private KouluLuokka.Oppilas seuraava
Constructor Detail

KouluLuokka.Oppilas

public KouluLuokka.Oppilas(java.lang.String nimi,
                           double keskiarvo)
Alustetaan oppilaan tiedot

Parameters:
nimi - oppilaan nimi
keskiarvo - oppilaan keskiarvo
Method Detail

toString

public java.lang.String toString()
Palautetaan oppilaan tiedot merkkijonona

Overrides:
toString in class java.lang.Object
Returns:
oppilaan tiedot merkkijonona


KouluLuokka2

demo
Class KouluLuokka2

java.lang.Object
  extended by demo.LinkitettyLista<KouluLuokka2.Oppilas>
      extended by demo.KouluLuokka2
All Implemented Interfaces:
java.lang.Iterable<KouluLuokka2.Oppilas>

public class KouluLuokka2
extends LinkitettyLista<KouluLuokka2.Oppilas>

Esimerkki linkitetyn listan käytöstä oppilaille

Version:
1.0, 15.03.2003
Author:
Vesa Lappalainen

Nested Class Summary
static class KouluLuokka2.Oppilas
          Luokan yksi oppilas
 
Field Summary
private  java.lang.String luokka
           
private  int oppilaita
           
 
Fields inherited from class demo.LinkitettyLista
muutostenMaara
 
Constructor Summary
KouluLuokka2(java.lang.String luokka)
          Luodaan yksi luokka
 
Method Summary
 void lisaa(KouluLuokka2.Oppilas oppilas)
          Lisätään uusi oppilas
static void main(java.lang.String[] args)
          Testataan linkitettyä listaa
 void poistaKaikki()
          Poistetaan kaikki luokan oppilaat
 void tulosta(java.io.OutputStream os)
          Tulostetaan lista tietovirtaan
 
Methods inherited from class demo.LinkitettyLista
iterator, kaanna, teeMuutos, toString, tulosta
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

luokka

private java.lang.String luokka

oppilaita

private int oppilaita
Constructor Detail

KouluLuokka2

public KouluLuokka2(java.lang.String luokka)
Luodaan yksi luokka

Parameters:
luokka - luokan nimi
Method Detail

lisaa

public void lisaa(KouluLuokka2.Oppilas oppilas)
Lisätään uusi oppilas

Overrides:
lisaa in class LinkitettyLista<KouluLuokka2.Oppilas>
Parameters:
oppilas - lisättävä oppilas
Example:
 #import java.io.ByteArrayOutputStream;
 #CLASSIMPORT
  ByteArrayOutputStream bs  = new ByteArrayOutputStream();
  String alku =  "%n%nLuokka: 1b oppilaita: %d%n" +
                 "==========================================%n";
  String loppu = "==========================================%n";
  String t = "";
  
  KouluLuokka2 luokka = new KouluLuokka2("1b");
  
  luokka.lisaa(new KouluLuokka2.Oppilas($nimi,$ka)); // NOPMD
  luokka.tulosta(bs);
  bs.toString() === String.format(alku+($oppilaat)+loppu,$maara); bs.reset();
  
    $nimi       | $ka | $maara | $oppilaat
  -------------------------------------------------------------------------------
    ---         | --- |   0    | t=""                    
  "Ankka Aku"   | 5.0 |   1    | t+="Ankka Aku              keskiarvo:  5.00%n"
  "Ankka Tupu"  | 7.0 |   2    | t+="Ankka Tupu             keskiarvo:  7.00%n"
  "Hiiri Mikki" | 9.0 |   3    | t+="Hiiri Mikki            keskiarvo:  9.00%n"
                 
  
  luokka.poistaKaikki();
                
  luokka.lisaa(new KouluLuokka2.Oppilas($nimi,$ka)); // NOPMD
  luokka.tulosta(bs);
  bs.toString() === String.format(alku+($oppilaat)+loppu,$maara);  bs.reset();

    $nimi       | $ka | $maara | $oppilaat
  -------------------------------------------------------------------------------
    ---         | --- |   0    | t=""                   
  "Hiiri Mikki" | 9.0 |   1    | t+="Hiiri Mikki            keskiarvo:  9.00%n"
                 
 

poistaKaikki

public void poistaKaikki()
Poistetaan kaikki luokan oppilaat

Overrides:
poistaKaikki in class LinkitettyLista<KouluLuokka2.Oppilas>

tulosta

public void tulosta(java.io.OutputStream os)
Tulostetaan lista tietovirtaan

Overrides:
tulosta in class LinkitettyLista<KouluLuokka2.Oppilas>
Parameters:
os - tietovirta johon tulostetaan

main

public static void main(java.lang.String[] args)
Testataan linkitettyä listaa

Parameters:
args - ei käytössä


KouluLuokka2.Oppilas

demo
Class KouluLuokka2.Oppilas

java.lang.Object
  extended by demo.KouluLuokka2.Oppilas
Enclosing class:
KouluLuokka2

public static class KouluLuokka2.Oppilas
extends java.lang.Object

Luokan yksi oppilas


Field Summary
private  double keskiarvo
           
private  java.lang.String nimi
           
 
Constructor Summary
KouluLuokka2.Oppilas(java.lang.String nimi, double keskiarvo)
          Alustetaan oppilaan tiedot
 
Method Summary
 java.lang.String toString()
          Palautetaan oppilaan tiedot merkkijonona
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

nimi

private java.lang.String nimi

keskiarvo

private double keskiarvo
Constructor Detail

KouluLuokka2.Oppilas

public KouluLuokka2.Oppilas(java.lang.String nimi,
                            double keskiarvo)
Alustetaan oppilaan tiedot

Parameters:
nimi - oppilaan nimi
keskiarvo - oppilaan keskiarvo
Method Detail

toString

public java.lang.String toString()
Palautetaan oppilaan tiedot merkkijonona

Overrides:
toString in class java.lang.Object
Returns:
oppilaan tiedot merkkijonona


Kulku1

demo
Class Kulku1

java.lang.Object
  extended by demo.Kulku1

public class Kulku1
extends java.lang.Object

Esimerkki kulkunevoista "kopioimalla". Esimerkki siksi, että tästä voi etsiä luokkien yhteisiä ominaisuuksia. Lasikuuksissaan luokat samaan tiedostoon.

Version:
1.0, 07.02.2003
Author:
Vesa Lappalainen
Example:
 #import fi.jyu.mit.ohj2.Suuntaaja;
 #DYNAMICIMPORT
 
   Lentokone dc3 = new Lentokone("DC3",25,320,4500);
   Laiva fennia = new Laiva("Fennia",1200,40,300);
    
   Suuntaaja.StringOutput so = new Suuntaaja.StringOutput();
   String tulos = "Lentokone\n"
                + "  Nimi:         DC3\n"
                + "  Matkustajia:  25\n"
                + "  Nopeus:       320.0 km/h\n"
                + "  Lentokorkeus: 4500.0 m\n" 
                + "Laiva\n"
                + "  Nimi:         Fennia\n"
                + "  Matkustajia:  1200\n"
                + "  Nopeus:       40.0 km/h\n"
                + "  Autopaikkoja: 300\n";
    
   dc3.tulosta();
   fennia.tulosta();
 
   so.ero(tulos) === null;
   so.palauta();
 

Nested Class Summary
static class Kulku1.Laiva
          Luokka laivan tiedoista
static class Kulku1.Lentokone
          Luokka lentokoneen tiedoista
 
Constructor Summary
Kulku1()
           
 
Method Summary
static void main(java.lang.String[] args)
          Testaaan kulkuneovoja
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

Kulku1

public Kulku1()
Method Detail

main

public static void main(java.lang.String[] args)
Testaaan kulkuneovoja

Parameters:
args - ei käytössä


Kulku1.Laiva

demo
Class Kulku1.Laiva

java.lang.Object
  extended by demo.Kulku1.Laiva
Enclosing class:
Kulku1

public static class Kulku1.Laiva
extends java.lang.Object

Luokka laivan tiedoista

Author:
vesal

Field Summary
private  int autopaikkoja
           
private  int matkustajia
           
private  java.lang.String nimi
           
private  double nopeus
           
 
Constructor Summary
Kulku1.Laiva(java.lang.String n, int mat, double nop, int autoja)
          Alustetaan laiva
 
Method Summary
 void tulosta()
          Tulostetaan päätteelle
 void tulosta(java.io.OutputStream os)
          Tulostetaan laiva tietovirtaan
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

nimi

private final java.lang.String nimi

matkustajia

private final int matkustajia

nopeus

private final double nopeus

autopaikkoja

private final int autopaikkoja
Constructor Detail

Kulku1.Laiva

public Kulku1.Laiva(java.lang.String n,
                    int mat,
                    double nop,
                    int autoja)
Alustetaan laiva

Parameters:
n - laivan nimi
mat - matkustajamäärä
nop - risteilynopeus
autoja - autopaikkojen määrä
Method Detail

tulosta

public void tulosta(java.io.OutputStream os)
Tulostetaan laiva tietovirtaan

Parameters:
os - tietovirta johon tulostetaan

tulosta

public void tulosta()
Tulostetaan päätteelle



Kulku1.Lentokone

demo
Class Kulku1.Lentokone

java.lang.Object
  extended by demo.Kulku1.Lentokone
Enclosing class:
Kulku1

public static class Kulku1.Lentokone
extends java.lang.Object

Luokka lentokoneen tiedoista

Author:
vesal

Field Summary
private  double lentokorkeus
           
private  int matkustajia
           
private  java.lang.String nimi
           
private  double nopeus
           
 
Constructor Summary
Kulku1.Lentokone(java.lang.String n, int mat, double nop, double kork)
          Alustetaan Lentokone
 
Method Summary
 void tulosta()
          Tulostetaan päätteelle
 void tulosta(java.io.OutputStream os)
          Tulostetaan lentokoneen tiedot tietovirtaan
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

nimi

private final java.lang.String nimi

matkustajia

private final int matkustajia

nopeus

private final double nopeus

lentokorkeus

private final double lentokorkeus
Constructor Detail

Kulku1.Lentokone

public Kulku1.Lentokone(java.lang.String n,
                        int mat,
                        double nop,
                        double kork)
Alustetaan Lentokone

Parameters:
n - nimi
mat - matkustajamäärä
nop - lentonopeus
kork - lentokorkeus
Method Detail

tulosta

public void tulosta(java.io.OutputStream os)
Tulostetaan lentokoneen tiedot tietovirtaan

Parameters:
os - tietovirta johon tulostetaan

tulosta

public void tulosta()
Tulostetaan päätteelle



Kulku2

demo
Class Kulku2

java.lang.Object
  extended by demo.Kulku2

public class Kulku2
extends java.lang.Object

Esimerkki kulkunevoista

Version:
1.0, 07.02.2003
Author:
Vesa Lappalainen
Example:
 #import fi.jyu.mit.ohj2.Suuntaaja;
 #STATICIMPORT
 
   Lentokone dc3 = new Lentokone("DC3",25,320,4500);
   Laiva fennia = new Laiva("Fennia",1200,40,300);
    
   Suuntaaja.StringOutput so = new Suuntaaja.StringOutput();
   String tulos = "Lentokone\n"
                + "  Nimi:         DC3\n"
                + "  Matkustajia:  25\n"
                + "  Nopeus:       320.0 km/h\n"
                + "  Lentokorkeus: 4500.0 m\n" 
                + "Laiva\n"
                + "  Nimi:         Fennia\n"
                + "  Matkustajia:  1200\n"
                + "  Nopeus:       40.0 km/h\n"
                + "  Autopaikkoja: 300\n";
    
   dc3.tulosta();
   fennia.tulosta();
 
   so.ero(tulos) === null;
   so.palauta();
 

Nested Class Summary
static class Kulku2.Kulkuneuvo
          Yleinen kantaluokka kulkuneuvoille
static class Kulku2.Laiva
          Kulkuneuvosta peritty Laiva
static class Kulku2.Lentokone
          Kulkuneuvosta peritty lentokone
 
Constructor Summary
Kulku2()
           
 
Method Summary
static void main(java.lang.String[] args)
          Testataan perittyjä kulkuneuvoja
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

Kulku2

public Kulku2()
Method Detail

main

public static void main(java.lang.String[] args)
Testataan perittyjä kulkuneuvoja

Parameters:
args -


Kulku2.Kulkuneuvo

demo
Class Kulku2.Kulkuneuvo

java.lang.Object
  extended by demo.Kulku2.Kulkuneuvo
Direct Known Subclasses:
Kulku2.Laiva, Kulku2.Lentokone
Enclosing class:
Kulku2

public static class Kulku2.Kulkuneuvo
extends java.lang.Object

Yleinen kantaluokka kulkuneuvoille

Author:
vesal

Field Summary
private  int matkustajia
           
private  java.lang.String nimi
           
private  double nopeus
           
 
Constructor Summary
Kulku2.Kulkuneuvo(java.lang.String n, int mat, double nop)
          Alustetaan kulkuneuvon perusattribuutit
 
Method Summary
 void tulosta()
          Tulostetaan näytölle
 void tulosta(java.io.OutputStream os)
          Tulostetaan kulkuneuvon tiedot tietovirtaan
 java.lang.String tyyppi()
          Metodi joka on tarkoitus ylikirjoittaa, joka palauttaa kulkuneuvon tyypin.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

nimi

private final java.lang.String nimi

matkustajia

private final int matkustajia

nopeus

private final double nopeus
Constructor Detail

Kulku2.Kulkuneuvo

public Kulku2.Kulkuneuvo(java.lang.String n,
                         int mat,
                         double nop)
Alustetaan kulkuneuvon perusattribuutit

Parameters:
n - kulkuneuvon nimi
mat - kulkuneuvon matkustajamäärä
nop - kulkuneuvon nopeus
Method Detail

tyyppi

public java.lang.String tyyppi()
Metodi joka on tarkoitus ylikirjoittaa, joka palauttaa kulkuneuvon tyypin.

Returns:
kulkuneuvon tyyppi

tulosta

public void tulosta(java.io.OutputStream os)
Tulostetaan kulkuneuvon tiedot tietovirtaan

Parameters:
os - tietovirta johon tulostetaan

tulosta

public void tulosta()
Tulostetaan näytölle



Kulku2.Laiva

demo
Class Kulku2.Laiva

java.lang.Object
  extended by demo.Kulku2.Kulkuneuvo
      extended by demo.Kulku2.Laiva
Enclosing class:
Kulku2

public static class Kulku2.Laiva
extends Kulku2.Kulkuneuvo

Kulkuneuvosta peritty Laiva

Author:
vesal

Field Summary
private  int autopaikkoja
           
 
Constructor Summary
Kulku2.Laiva(java.lang.String n, int mat, double nop, int autoja)
          Alustetaan laivan tiedot
 
Method Summary
 void tulosta(java.io.OutputStream os)
          Tulostetaan laiva tietovirtaan
 java.lang.String tyyppi()
          Palautetaan laiva
 
Methods inherited from class demo.Kulku2.Kulkuneuvo
tulosta
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

autopaikkoja

private final int autopaikkoja
Constructor Detail

Kulku2.Laiva

public Kulku2.Laiva(java.lang.String n,
                    int mat,
                    double nop,
                    int autoja)
Alustetaan laivan tiedot

Parameters:
n - laivan nimi
mat - matkustajamäärä
nop - risteilynopeus
autoja - autopaikkojen määrä
Method Detail

tyyppi

public java.lang.String tyyppi()
Palautetaan laiva

Overrides:
tyyppi in class Kulku2.Kulkuneuvo
Returns:
Laiva
See Also:
Kulku2.Kulkuneuvo.tyyppi()

tulosta

public void tulosta(java.io.OutputStream os)
Tulostetaan laiva tietovirtaan

Overrides:
tulosta in class Kulku2.Kulkuneuvo
Parameters:
os - tietovirta johon tulostetaan


Kulku2.Lentokone

demo
Class Kulku2.Lentokone

java.lang.Object
  extended by demo.Kulku2.Kulkuneuvo
      extended by demo.Kulku2.Lentokone
Enclosing class:
Kulku2

public static class Kulku2.Lentokone
extends Kulku2.Kulkuneuvo

Kulkuneuvosta peritty lentokone

Author:
vesal

Field Summary
private  double lentokorkeus
           
 
Constructor Summary
Kulku2.Lentokone(java.lang.String n, int mat, double nop, double kork)
          Alustetaan lentokoneen tiedot
 
Method Summary
 void tulosta(java.io.OutputStream os)
          Tulostetaan lentokone tietovirtaan
 java.lang.String tyyppi()
          Palautetaan lentokone
 
Methods inherited from class demo.Kulku2.Kulkuneuvo
tulosta
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

lentokorkeus

private final double lentokorkeus
Constructor Detail

Kulku2.Lentokone

public Kulku2.Lentokone(java.lang.String n,
                        int mat,
                        double nop,
                        double kork)
Alustetaan lentokoneen tiedot

Parameters:
n - nimi
mat - matkustajamäärä
nop - lentonopeus
kork - lentokorkeus
Method Detail

tyyppi

public java.lang.String tyyppi()
Palautetaan lentokone

Overrides:
tyyppi in class Kulku2.Kulkuneuvo
Returns:
Lentokone
See Also:
Kulku2.Kulkuneuvo.tyyppi()

tulosta

public void tulosta(java.io.OutputStream os)
Tulostetaan lentokone tietovirtaan

Overrides:
tulosta in class Kulku2.Kulkuneuvo
Parameters:
os - tietovirta johon tulostetaan


LinjaAuto

demo
Class LinjaAuto

java.lang.Object
  extended by demo.LinjaAuto

public class LinjaAuto
extends java.lang.Object

Ohjelmalla tutkitaan linja-autojen tilankäyttöä.

Version:
1.0, 07.02.2003
Author:
Vesa Lappalainen

Field Summary
private  int matkustajia
           
private  int paikkoja
           
 
Constructor Summary
LinjaAuto(int paikkoja)
          Alustetaan uusi linja-auto sisältämään pyydetty määrä paikkoja
 
Method Summary
 int getMatkustajia()
          Palautetaan linja-autossa olevien matkustajien lukumäärä
 int getPaikkoja()
          Palautetaan linja-autossa olevien paikkojen lukumäärä
 int getTilaa()
          Palautetaan linja-autossa olevien tyhjien paikkojen lukumäärä
 int lisaa(int uusia)
          Lisätään linja-autoon uusia matkustajia.
static void main(java.lang.String[] args)
          Testataan LinjaAuto-luokkaa
 boolean tilaa()
          Palautetaan tieto siitä, onko autossa vielä vapaita paikkoja
 void tulosta()
          Tulostetaan tiedot autosta.
 int vahenna(int poistettavia)
          Otetaan matkustajia pois autosta.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

paikkoja

private final int paikkoja

matkustajia

private int matkustajia
Constructor Detail

LinjaAuto

public LinjaAuto(int paikkoja)
Alustetaan uusi linja-auto sisältämään pyydetty määrä paikkoja

Parameters:
paikkoja - kuinka monta matkustajapaikkaa on linja-autossa
Method Detail

getTilaa

public int getTilaa()
Palautetaan linja-autossa olevien tyhjien paikkojen lukumäärä

Returns:
kuinka monta tyhjää paikkaa autossa on vielä

getPaikkoja

public int getPaikkoja()
Palautetaan linja-autossa olevien paikkojen lukumäärä

Returns:
kuinka monta paikkaa autossa on alunperin

getMatkustajia

public int getMatkustajia()
Palautetaan linja-autossa olevien matkustajien lukumäärä

Returns:
kuinka monta matkustajaa autossa on

tilaa

public boolean tilaa()
Palautetaan tieto siitä, onko autossa vielä vapaita paikkoja

Returns:
onko autossa tilaa vai ei
Example:
  LinjaAuto pikkubussi = new LinjaAuto(10);
  pikkubussi.lisaa(3);
  pikkubussi.tilaa() === true;
  pikkubussi.lisaa(10);
  pikkubussi.tilaa() === false;
 

lisaa

public int lisaa(int uusia)
Lisätään linja-autoon uusia matkustajia. Jos kaikki eivät mahdu, ylimääristen lukumäärä palautetaan

Parameters:
uusia - lisättävien matkustajien lukumäärä
Returns:
niiden lukumäärä, jotka eivät mahtuneet
Example:
 LinjaAuto pikkubussi = new LinjaAuto(10);
 pikkubussi.getPaikkoja()    === 10;
 pikkubussi.getTilaa()       === 10;
 pikkubussi.getMatkustajia() ===  0;
 pikkubussi.lisaa(3)         ===  0;
 pikkubussi.getTilaa()       ===  7;
 pikkubussi.getMatkustajia() ===  3;
 pikkubussi.lisaa(9)         ===  2;
 pikkubussi.getTilaa()       ===  0;
 pikkubussi.getMatkustajia() === 10;
 pikkubussi.lisaa(-13)       === -3;
 pikkubussi.getTilaa()       === 10;
 pikkubussi.getMatkustajia() ===  0;
 

vahenna

public int vahenna(int poistettavia)
Otetaan matkustajia pois autosta. Jos otetaan enmmän kuin voidaan, palautetaan negatiivisena liikojen määrä.

Parameters:
poistettavia - kuinka onta matkustajaa poistetaan
Returns:
paljonko meni yli
Example:
 LinjaAuto pikkubussi = new LinjaAuto(10);
 pikkubussi.lisaa(3)         ===  0;
 pikkubussi.vahenna(2)       ===  0;
 pikkubussi.getMatkustajia() ===  1;
 pikkubussi.vahenna(2)       === -1;
 pikkubussi.getMatkustajia() ===  0;
 

tulosta

public void tulosta()
Tulostetaan tiedot autosta.

Example:
 LinjaAuto pikkubussi = new LinjaAuto(10);
 pikkubussi.lisaa(3)         ===  0;
 Suuntaaja.StringOutput so = new Suuntaaja.StringOutput();
 pikkubussi.tulosta();
 so.ero("Autossa paikkoja: 10 matkustajia: 3 vapaita paikkoja: 7\n") === null;
 so.palauta();
 

main

public static void main(java.lang.String[] args)
Testataan LinjaAuto-luokkaa

Parameters:
args - ei käytössä


LinkitettyLista

demo
Class LinkitettyLista<TYPE>

java.lang.Object
  extended by demo.LinkitettyLista<TYPE>
Type Parameters:
TYPE - Tyyppi jota lista tallettaa
All Implemented Interfaces:
java.lang.Iterable<TYPE>
Direct Known Subclasses:
KouluLuokka2

public class LinkitettyLista<TYPE>
extends java.lang.Object
implements java.lang.Iterable<TYPE>

Yleinen linkitetty lista jolla voi tallentaa mitä tahansa alioita.

Version:
1.0, 15.03.2003
Author:
Vesa Lappalainen

Nested Class Summary
private  class LinkitettyLista.LinkitettyListaIterator
          Iteraattorin implementointi.
private static class LinkitettyLista.ListanAlkio<TYPE>
           
 
Field Summary
private  LinkitettyLista.ListanAlkio<TYPE> ensimmainen
           
protected  int muutostenMaara
          Laskuri listaan tehtyjen muutosmäärälle.
private  LinkitettyLista.ListanAlkio<TYPE> viimeinen
           
 
Constructor Summary
LinkitettyLista()
           
 
Method Summary
 java.util.Iterator<TYPE> iterator()
          Palautetaan iteraattori listaan
 void kaanna()
          Käännetään lista toisin päin Yksi yksinkertainen idea: tehdään apulista ja listan alusta siiretään aina alkio kerrallaan apulistan alkuun: 1) Otetaan osoitin listan alkuun 2) apuosoittimet eka ja vika uuteen listaan 3) otetaan osoittimen kohdasta ensimmäinen pois ja li- sätään se uuden listan alkuun 4) toistetaan 3:sta kunnes apuosoitin== null
 void lisaa(TYPE alkio)
          Lisätään uusi alkio listaan
static void main(java.lang.String[] args)
          Testataan linkitettyä listaa
 void poistaKaikki()
          Poistetaan kaikki listan alkiot
protected  void teeMuutos()
          Tehdään listaan muutos, eli lasketaan muutosten määrää
 java.lang.String toString()
          Tulostetaan listan sisältö merkkijonoon
 void tulosta()
          Tulostetaan lista konsolille
 void tulosta(java.io.OutputStream os)
          Tulostetaan lista tietovirtaan
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

ensimmainen

private LinkitettyLista.ListanAlkio<TYPE> ensimmainen

viimeinen

private LinkitettyLista.ListanAlkio<TYPE> viimeinen

muutostenMaara

protected transient int muutostenMaara
Laskuri listaan tehtyjen muutosmäärälle. Iteraattori käyttää tätä tutkiakseen, että listaan ei ole tullut muutoksia iteroinin aloituksen jälkeen

Constructor Detail

LinkitettyLista

public LinkitettyLista()
Method Detail

teeMuutos

protected void teeMuutos()
Tehdään listaan muutos, eli lasketaan muutosten määrää


lisaa

public void lisaa(TYPE alkio)
Lisätään uusi alkio listaan

Parameters:
alkio -
Example:
 LinkitettyLista lista = new LinkitettyLista();
 lista.toString() === "";
 lista.lisaa(1);    lista.toString() === "1 ";
 lista.lisaa(2);    lista.toString() === "1 2 ";
 lista.lisaa(99);   lista.toString() === "1 2 99 ";
 

tulosta

public void tulosta(java.io.OutputStream os)
Tulostetaan lista tietovirtaan

Parameters:
os -

tulosta

public void tulosta()
Tulostetaan lista konsolille


toString

public java.lang.String toString()
Tulostetaan listan sisältö merkkijonoon

Overrides:
toString in class java.lang.Object
Returns:
listan sisältö merkkijonona

poistaKaikki

public void poistaKaikki()
Poistetaan kaikki listan alkiot

Example:
 LinkitettyLista lista = new LinkitettyLista();
 lista.lisaa(1);  lista.lisaa(2); lista.lisaa(99);   
 lista.toString() === "1 2 99 ";
 lista.poistaKaikki();
 lista.toString() === "";
 

kaanna

public void kaanna()
Käännetään lista toisin päin
 Yksi yksinkertainen idea: tehdään  apulista  ja  listan alusta
 siiretään aina alkio kerrallaan apulistan alkuun:
 1)   Otetaan osoitin listan alkuun
 2)   apuosoittimet eka ja vika uuteen listaan
 3)   otetaan osoittimen kohdasta ensimmäinen pois ja  li-
      sätään se uuden listan alkuun 
 4)   toistetaan 3:sta kunnes apuosoitin== null
 

Example:
 LinkitettyLista lista = new LinkitettyLista();
 lista.lisaa(1);  
 lista.toString() === "1 "; lista.kaanna();  lista.toString() === "1 ";
 lista.lisaa(2); 
 lista.toString() === "1 2 "; lista.kaanna();  lista.toString() === "2 1 ";
 lista.lisaa(99);   
 lista.toString() === "2 1 99 "; lista.kaanna();  lista.toString() === "99 1 2 ";
 lista.lisaa(77);   
 lista.toString() === "99 1 2 77 "; lista.kaanna();  lista.toString() === "77 2 1 99 ";
 

iterator

public java.util.Iterator<TYPE> iterator()
Palautetaan iteraattori listaan

Specified by:
iterator in interface java.lang.Iterable<TYPE>
Returns:
listan iteraattori

main

public static void main(java.lang.String[] args)
Testataan linkitettyä listaa

Parameters:
args - ei käytössä


LinkitettyLista.LinkitettyListaIterator

demo
Class LinkitettyLista.LinkitettyListaIterator

java.lang.Object
  extended by demo.LinkitettyLista.LinkitettyListaIterator
All Implemented Interfaces:
java.util.Iterator<TYPE>
Enclosing class:
LinkitettyLista<TYPE>

private class LinkitettyLista.LinkitettyListaIterator
extends java.lang.Object
implements java.util.Iterator<TYPE>

Iteraattorin implementointi. Iteraattoria ei saa käyttää jos lista on muuttunut iteroinnin aloituksen jälkeen. Ainostaan iteraattorin itsensä kautta tehty poisto hyväksytään.

Version:
1.0, 22.03.2003
Author:
Vesa Lappalainen

Field Summary
private  LinkitettyLista.ListanAlkio<TYPE> edellinen
           
private  LinkitettyLista.ListanAlkio<TYPE> kohdalla
           
private  int odotettuMuutostenMaara
           
private  LinkitettyLista.ListanAlkio<TYPE> seuraava
           
 
Constructor Summary
private LinkitettyLista.LinkitettyListaIterator()
           
 
Method Summary
 boolean hasNext()
          Onko listassa seuraavata alkiota
 TYPE next()
          Palautetaan listan seuraava alkio
 void remove()
          Poistetaan listasta kohdalla oleva alkio
private  void tarkistaTila()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

seuraava

private LinkitettyLista.ListanAlkio<TYPE> seuraava

kohdalla

private LinkitettyLista.ListanAlkio<TYPE> kohdalla

edellinen

private LinkitettyLista.ListanAlkio<TYPE> edellinen

odotettuMuutostenMaara

private int odotettuMuutostenMaara
Constructor Detail

LinkitettyLista.LinkitettyListaIterator

private LinkitettyLista.LinkitettyListaIterator()
Method Detail

tarkistaTila

private void tarkistaTila()
                   throws java.util.ConcurrentModificationException
Throws:
java.util.ConcurrentModificationException

hasNext

public boolean hasNext()
                throws java.util.ConcurrentModificationException
Onko listassa seuraavata alkiota

Specified by:
hasNext in interface java.util.Iterator<TYPE>
Returns:
ture jos on
Throws:
java.util.ConcurrentModificationException - jos listassa muutoksia
Example:
 #import java.util.*;
 #CLASSIMPORT
 LinkitettyLista lista = new LinkitettyLista();
 Iterator i;
 
 i = lista.iterator(); // Tyhjä lista
 i.hasNext() === false;
 i.next(); #THROWS NoSuchElementException
 
 lista.lisaa(1);  
 i = lista.iterator();
 i.hasNext() === true;
 
 i = lista.iterator();
 i.hasNext() === true;  i.next().intValue() === 1;
 i.hasNext() === false;
 lista.lisaa(2);
 i.hasNext() === true; #THROWS ConcurrentModificationException 
 lista.lisaa(99);   
 i = lista.iterator();
 i.next(); i.next(); i.next().intValue() === 99;
 

next

public TYPE next()
          throws java.util.NoSuchElementException,
                 java.util.ConcurrentModificationException
Palautetaan listan seuraava alkio

Specified by:
next in interface java.util.Iterator<TYPE>
Returns:
listan seuraava alkio
Throws:
java.util.NoSuchElementException - jos listassa ei enää alkioita
java.util.ConcurrentModificationException - jos listassa muutoksia

remove

public void remove()
            throws java.lang.UnsupportedOperationException,
                   java.util.ConcurrentModificationException
Poistetaan listasta kohdalla oleva alkio

Specified by:
remove in interface java.util.Iterator<TYPE>
Throws:
java.lang.UnsupportedOperationException - ei heitä
java.util.ConcurrentModificationException - jos listassa muutoksia
Example:
 #import java.util.*;
 #CLASSIMPORT
 LinkitettyLista lista = new LinkitettyLista();
 Iterator i;
 
 i = lista.iterator();
 i.remove(); #THROWS IllegalStateException
 
 lista.lisaa(1);  lista.lisaa(2); lista.lisaa(99);   
 i = lista.iterator();
 i.next(); i.remove();   
 i.next(); i.remove();  
 i.next(); i.remove();  lista.toString() === "";
 
 lista.lisaa(1);  lista.lisaa(2); lista.lisaa(99);   
 i = lista.iterator();
 i.next();
 lista.lisaa(2);
 i.remove();      #THROWS ConcurrentModificationException
 


LinkitettyLista.ListanAlkio

demo
Class LinkitettyLista.ListanAlkio<TYPE>

java.lang.Object
  extended by demo.LinkitettyLista.ListanAlkio<TYPE>
Enclosing class:
LinkitettyLista<TYPE>

private static class LinkitettyLista.ListanAlkio<TYPE>
extends java.lang.Object


Field Summary
private  TYPE alkio
           
private  LinkitettyLista.ListanAlkio<TYPE> seuraava
           
 
Constructor Summary
LinkitettyLista.ListanAlkio(TYPE alkio)
          Luodaan uusi listan alkio
 
Method Summary
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

alkio

private final TYPE alkio

seuraava

private LinkitettyLista.ListanAlkio<TYPE> seuraava
Constructor Detail

LinkitettyLista.ListanAlkio

public LinkitettyLista.ListanAlkio(TYPE alkio)
Luodaan uusi listan alkio

Parameters:
alkio -


LisaaPvm

demo
Class LisaaPvm

java.lang.Object
  extended by demo.LisaaPvm

public class LisaaPvm
extends java.lang.Object

Ohjelmalla testataan päivämäärän lisäystä. Päivämäärä on talukossa muodossa pp,kk,vv Taulukko ei ole hyvä ratkaisu, parempi on kunnon Pvm-luokka. Tulee myöhemmissä demoissa.

Since:
1.4
Version:
1.0, 17.01.2002
Author:
Vesa Lappalainen

Field Summary
private static int KK
           
static int[][] KPITUUDET
          Taulukko kuukausien pituuksista.
private static int PP
           
private static int VV
           
 
Constructor Summary
LisaaPvm()
           
 
Method Summary
static int karkausvuosi(int vv)
          Palautetaan tieto siitä onko tutkittava vuosi karkausvuosi vai ei
private static void lisaaPvm(int[] pvm)
          Aliohjelmalla lisätään taulukossa olevaa päivämäärää yhdellä
static void main(java.lang.String[] args)
          Testataan lisaaPvm aliohjelmaa
private static void testaa(int[] pvm, int kpl)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

PP

private static final int PP
See Also:
Constant Field Values

KK

private static final int KK
See Also:
Constant Field Values

VV

private static final int VV
See Also:
Constant Field Values

KPITUUDET

public static final int[][] KPITUUDET
Taulukko kuukausien pituuksista. Oma rivi karkausvuosille

Constructor Detail

LisaaPvm

public LisaaPvm()
Method Detail

karkausvuosi

public static int karkausvuosi(int vv)
Palautetaan tieto siitä onko tutkittava vuosi karkausvuosi vai ei

Parameters:
vv - tutkittava vuosi
Returns:
1 jos on karkausvuosi ja 0 jos ei ole

lisaaPvm

private static void lisaaPvm(int[] pvm)
Aliohjelmalla lisätään taulukossa olevaa päivämäärää yhdellä

Parameters:
pvm - lisättävä päivämäärä

testaa

private static void testaa(int[] pvm,
                           int kpl)

main

public static void main(java.lang.String[] args)
Testataan lisaaPvm aliohjelmaa

Parameters:
args - ei käytössä


ListaaKaikki

demo
Class ListaaKaikki

java.lang.Object
  extended by demo.ListaaKaikki

public class ListaaKaikki
extends java.lang.Object

Ohjelmalla käydään koko hakemistopuu lävitse. Tehtävä: muuta ohjelmaa niin, että se todella käy koko hakemistopuun lävitse. Vinkki: rekursio.

Version:
1.0, 21.02.2003
Author:
Vesa Lappalainen

Constructor Summary
ListaaKaikki()
           
 
Method Summary
static void listaaHakemisto(java.io.File nyky, java.lang.String maski)
          Käy läpi kaikki hakemiston tiedostot tiedostot
static void main(java.lang.String[] args)
          Tulostetaan kaikki tietyn hakemiston tiedostot
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ListaaKaikki

public ListaaKaikki()
Method Detail

listaaHakemisto

public static void listaaHakemisto(java.io.File nyky,
                                   java.lang.String maski)
Käy läpi kaikki hakemiston tiedostot tiedostot

Parameters:
nyky - hakemisto josta läpikäynti aloitetaan
maski - millä ehdolla tiedoston nimi tulostetaan

main

public static void main(java.lang.String[] args)
                 throws java.io.IOException
Tulostetaan kaikki tietyn hakemiston tiedostot

Parameters:
args - haekmisto maski
Throws:
java.io.IOException - jos menee pieleen


LueUsers

demo
Class LueUsers

java.lang.Object
  extended by demo.LueUsers

public class LueUsers
extends java.lang.Object

Luetaan tiedosto ja tulostetaan sen muokattuna näytölle.

Version:
1.0, 25.01.2003 Ohjelma lukee tiedoston, jonka muoto pitäisi olla:
 Seuraavassa html sulut korvattu ( )-merkeillä
     (!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN")
     (html)
     (head)
     (base target=m1)
     ...
     93 (a href="vesal/index.html?r=1")Vesa Lappalainen(/a) = 8.5(br)
     94 (a href="mattim/index.html?r=1")Matti Meikäläinen(/a) = 8(br)
     95 (a href="teppot/index.html?r=1")Teppo Teikäläinen(/a) = 9(br)
     ...
ja tulostaa sen muodossa:
     93 Vesa Lappalainen = 8.5 - vesal
     94 Matti Meikäläinen = 8  - mattim
     95 Teppo Teikäläinen = 9  - teppot
eli riisuu pois kaikki rivit, joissa ei ole linkkiä ja linkkiriveistä tulostetaan em. tiedot em. muodossa
Author:
Vesa Lappalainen

Field Summary
private static java.util.regex.Pattern p
          Valmiiksi käännetty pattern joka nopeuttaa testaamista
 
Constructor Summary
LueUsers()
           
 
Method Summary
static java.lang.String kasitteleRivi(java.lang.String rivi)
          Käsittelee html-muotoisen rivin: 93 <a href="vesal/index.html?
static java.lang.String kasitteleRivi2(java.lang.String rivi)
          Vaihtoehtoinen versio HTML-muodon käsittelemiseksi.
static void main(java.lang.String[] args)
          Lasketaan käyttäjien pisteet.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

p

private static final java.util.regex.Pattern p
Valmiiksi käännetty pattern joka nopeuttaa testaamista

Constructor Detail

LueUsers

public LueUsers()
Method Detail

kasitteleRivi

public static java.lang.String kasitteleRivi(java.lang.String rivi)
Käsittelee html-muotoisen rivin:
 93 <a href="vesal/index.html?r=1">Vesa Lappalainen</a> = 8.5<br>
 
ja palauttaa sen muodossa
 93 Vesa Lappalainen = 8.5 - vesal
 
Väärän muotoisesta rivistä palautetaan tyhjä jono

Parameters:
rivi - käsiteltävä merkkijono
Returns:
merkkijono jossa numero, tekijä ja pistemäärä sekä käyttäjätunnus
Example:
   String rivi = "93 (a href=\"vesal/index.html?r=1\")Vesa Lappalainen(/a) = 8.5(br)";
   rivi = rivi.replace('(','<').replace(')','>');
   kasitteleRivi(rivi) === "93 Vesa Lappalainen = 8.5 - vesal";
   kasitteleRivi("kissa") === "";
   kasitteleRivi("") === "";
   kasitteleRivi(null) === "";  #THROWS NullPointerException    // NOPMD
 

kasitteleRivi2

public static java.lang.String kasitteleRivi2(java.lang.String rivi)
Vaihtoehtoinen versio HTML-muodon käsittelemiseksi. Toteutus löytyneiden "hahmojen" perusteella.

Parameters:
rivi - String käsiteltävä merkkijono HTML-muodossa
Returns:
String listamuotoinen merkkijono
Example:
   String rivi = "93 (a href=\"vesal/index.html?r=1\")Vesa Lappalainen(/a) = 8.5(br)";
   rivi = rivi.replace('(','<').replace(')','>');
   kasitteleRivi2(rivi) === "93 Vesa Lappalainen = 8.5 - vesal";
   kasitteleRivi2("kissa") === "";
   kasitteleRivi2("") === "";
   kasitteleRivi2(null) === "";  #THROWS NullPointerException    // NOPMD
 

main

public static void main(java.lang.String[] args)
                 throws java.io.IOException
Lasketaan käyttäjien pisteet.

Parameters:
args - mahdollisesti tiedoston nimi, muuten nimi kysytään
Throws:
java.io.IOException - jos tiedoetojen kanssa ongelmia


LueUsers2

demo
Class LueUsers2

java.lang.Object
  extended by demo.LueUsers2

public class LueUsers2
extends java.lang.Object

Luetaan tiedosto ja tulostetaan sen muokattuna näytölle.

Version:
1.0, 25.01.2003, 1.2, 08.02.2003, 1.3, 10.02.2008 Ohjelma lukee tiedoston, jonka muoto pitäisi olla:
 Seuraavassa html sulut korvattu ( )-merkeillä
     (!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN")
     (html)
     (head)
     (base target=m1)
     ...
     93 (a href="vesal/index.html?r=1")Vesa Lappalainen(/a) = 8.5(br)
     94 (a href="mattim/index.html?r=1")Matti Meikäläinen(/a) = 8(br)
     95 (a href="teppot/index.html?r=1")Teppo Teikäläinen(/a) = 9(br)
     ...
ja tulostaa sen muodossa:
     93 Vesa Lappalainen = 8.5 - vesal
     94 Matti Meikäläinen = 8  - mattim
     95 Teppo Teikäläinen = 9  - teppot
eli riisuu pois kaikki rivit, joissa ei ole linkkiä ja linkkiriveistä tulostetaan em. tiedot em. muodossa
Author:
Vesa Lappalainen
Example:
 #THROWS IOException
 #STATICIMPORT
 #import java.io.*;
 #import fi.jyu.mit.ohj2.*;
   String sisalto =
     "(!DOCTYPE html PUBLIC \"-//W3C//DTD HTML 4.01//EN\")\n"+
     "(html)\n"+
     "(head)\n"+
     "(base target=m1)\n"+
     "(title)demo3(/title)\n"+
     "(/head)\n"+
     "(body)\n"+
     "(h1)demo3(/h1)\n"+
     "93 (a href=\"vesal/index.html?r=1\")Vesa Lappalainen(/a) = 8.5(br)\n"+
     "94 (a href=\"mattim/index.html?r=1\")Matti Meikäläinen(/a) = 8(br)\n"+
     "95 (a href=\"teppot/index.html?r=1\")Teppo Teikäläinen(/a) = 9(br)\n"+
     "(/body)\n"+
     "(/html>\n";
     
     sisalto = sisalto.replace('(','<').replace(')','>');
     VertaaTiedosto.kirjoitaTiedosto("users.test",sisalto);
     Suuntaaja.StringOutput so = new Suuntaaja.StringOutput();
     
     main(new String[]{"users.test"});
     
     String tulos = "93 Vesa Lappalainen = 8.5 - vesal\n"+
                    "94 Matti Meikäläinen = 8.0 - mattim\n"+
                    "95 Teppo Teikäläinen = 9.0 - teppot\n";
                    
     so.ero(tulos) === null;
     so.palauta();                    
     VertaaTiedosto.tuhoaTiedosto("users.test");
 

Constructor Summary
LueUsers2()
           
 
Method Summary
static void main(java.lang.String[] args)
          Testataan LueUsers2-luokkaa
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

LueUsers2

public LueUsers2()
Method Detail

main

public static void main(java.lang.String[] args)
                 throws java.io.IOException
Testataan LueUsers2-luokkaa

Parameters:
args - luettavan tiedoston nimi. Jos ei ole, kysytään käyttäjältä
Throws:
java.io.IOException - jos tiedostojen kanssa ongelmia


Makihyppy2

demo
Class Makihyppy2

java.lang.Object
  extended by demo.Makihyppy2

public class Makihyppy2
extends java.lang.Object

Luokkia mäkihyppyä varten

Version:
1.0, 21.02.2003
Author:
Vesa Lappalainen

Nested Class Summary
static class Makihyppy2.Kierros
          Luokka yhtä mäkihypyn kierrosta varten
static class Makihyppy2.Kilpailija
          Luokka kilpailijaa varten.
static class Makihyppy2.Tulos
          Luokka mäkihypyn yhden kilpailijan tulosta varten.
 
Constructor Summary
Makihyppy2()
           
 
Method Summary
 void kisa()
          Alustetaan ja aloitetaan kisa
static void main(java.lang.String[] args)
          Pääohjelma jossa vain luodaan kisa ja aloitetaan se
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

Makihyppy2

public Makihyppy2()
Method Detail

kisa

public void kisa()
Alustetaan ja aloitetaan kisa


main

public static void main(java.lang.String[] args)
Pääohjelma jossa vain luodaan kisa ja aloitetaan se

Parameters:
args -


Makihyppy2.Kierros

demo
Class Makihyppy2.Kierros

java.lang.Object
  extended by demo.Makihyppy2.Kierros
Enclosing class:
Makihyppy2

public static class Makihyppy2.Kierros
extends java.lang.Object

Luokka yhtä mäkihypyn kierrosta varten


Field Summary
private static double K_PISTE
           
private static double METRIKERROIN
           
private  double pituus
           
private static int TUOMAREITA
           
private  double[] tuomarit
           
 
Constructor Summary
Makihyppy2.Kierros()
           
 
Method Summary
 double getPisteet()
          Lasketaan kierroksen pisteet
 void setPituus(double pit)
          Asetetaan kierroksen hypyn pituus
 void setTuomari(int i, double pist)
          Asetetaan tuomarin i pistemäärä
 java.lang.String toString()
          Muutetaan kierroksen tiedot merkkijonoksi
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

TUOMAREITA

private static final int TUOMAREITA
See Also:
Constant Field Values

K_PISTE

private static final double K_PISTE
See Also:
Constant Field Values

METRIKERROIN

private static final double METRIKERROIN
See Also:
Constant Field Values

pituus

private double pituus

tuomarit

private double[] tuomarit
Constructor Detail

Makihyppy2.Kierros

public Makihyppy2.Kierros()
Method Detail

getPisteet

public double getPisteet()
Lasketaan kierroksen pisteet

Returns:
kierroksen pisteet

setPituus

public void setPituus(double pit)
Asetetaan kierroksen hypyn pituus

Parameters:
pit - hypyn pituus

setTuomari

public void setTuomari(int i,
                       double pist)
Asetetaan tuomarin i pistemäärä

Parameters:
i - asetettavan tuomarin indeksi 1-5
pist - tuomarin antamat pisteet

toString

public java.lang.String toString()
Muutetaan kierroksen tiedot merkkijonoksi

Overrides:
toString in class java.lang.Object
Returns:
kierroksen tiedot merkkijonona
Example:
    Makihyppy2.Kierros kierros = new Makihyppy2.Kierros();
    kierros.toString() === "   0.0 m.  Tuomarit:   0.0  0.0  0.0  0.0  0.0 =   0.0 pistettä"; 
    kierros.setPituus(105);
    for (int i=0; i<10; i++)
      kierros.setTuomari(i, 2*i);
    kierros.toString() === " 105.0 m.  Tuomarit:   2.0  4.0  6.0  8.0 10.0 =  63.0 pistettä"; 
 


Makihyppy2.Kilpailija

demo
Class Makihyppy2.Kilpailija

java.lang.Object
  extended by demo.Makihyppy2.Kilpailija
All Implemented Interfaces:
java.lang.Comparable<Makihyppy2.Kilpailija>
Enclosing class:
Makihyppy2

public static class Makihyppy2.Kilpailija
extends java.lang.Object
implements java.lang.Comparable<Makihyppy2.Kilpailija>

Luokka kilpailijaa varten. Sisältää tuloksen.

Example:
    Makihyppy2.Kilpailija toni = new Makihyppy2.Kilpailija("Toni",3);
    Makihyppy2.Kilpailija matti = new Makihyppy2.Kilpailija("Matti",7);

    toni.setPituus(1,107);
    toni.setPituus(2,100);
    toni.setTuomari(2,1,19.0);
    toni.setTuomari(2,2,18.0);
    toni.setTuomari(2,3,19.5);
    toni.setTuomari(2,4,18.0);
    toni.setTuomari(2,5,20.0);

    matti.setPituus(1,125);
    matti.setTuomari(1,1,20.0);
    matti.setTuomari(1,2,20.0);
    matti.setTuomari(1,3,20.0);
    matti.setTuomari(1,4,20.0);
    matti.setPituus(2,109);
    matti.setTuomari(2,1,20.0);
    matti.setTuomari(2,2,20.0);
    matti.setTuomari(2,3,20.0);
    matti.setTuomari(2,4,20.0);

    String tulos = "  3: Toni\n"+ 
     "Kierros 1  107.0 m.  Tuomarit:   0.0  0.0  0.0  0.0  0.0 =   0.0 pistettä\n"+
     "Kierros 2  100.0 m.  Tuomarit:  19.0 18.0 19.5 18.0 20.0 =  96.5 pistettä\n"+
     "Yhteensä:   96.5 pistettä.\n";
    toni.toString() === tulos;
    
    matti.compareTo(toni) === 1;
    matti.equals(toni)    === false;
    toni.compareTo(matti) === -1;
 
 

Field Summary
private  java.lang.String nimi
           
private  int nro
           
private  Makihyppy2.Tulos tulos
           
 
Constructor Summary
Makihyppy2.Kilpailija(java.lang.String nimi, int nro)
          Alustetaan kilpailijan tiedot
 
Method Summary
 int compareTo(Makihyppy2.Kilpailija kilp)
          Verrataan omia tietoja kilp tietoihin.
 boolean equals(java.lang.Object obj)
          Tutkitaan onko sama tulos kuin toisella oliolla
 void setPituus(int k, double pit)
          Asetetaan hypyn pituus kierrokselle k
 void setTuomari(int k, int i, double pist)
          Asetetaan kierroksen k i:n tuomarin pisteet.
 java.lang.String toString()
          Kilpailijan tiedot merkkijonoja
 void tulosta()
          Tulostetaan kilpailijan tiedot näyttöön.
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

nimi

private final java.lang.String nimi

nro

private final int nro

tulos

private final Makihyppy2.Tulos tulos
Constructor Detail

Makihyppy2.Kilpailija

public Makihyppy2.Kilpailija(java.lang.String nimi,
                             int nro)
Alustetaan kilpailijan tiedot

Parameters:
nimi - kilpailijan nimi
nro - kilpailunumero
Method Detail

toString

public java.lang.String toString()
Kilpailijan tiedot merkkijonoja

Overrides:
toString in class java.lang.Object
Returns:
tiedot merkkijonona

tulosta

public void tulosta()
Tulostetaan kilpailijan tiedot näyttöön.


setPituus

public void setPituus(int k,
                      double pit)
Asetetaan hypyn pituus kierrokselle k

Parameters:
k - kierros jolle pituus asetetaan
pit - hypyn pituus

setTuomari

public void setTuomari(int k,
                       int i,
                       double pist)
Asetetaan kierroksen k i:n tuomarin pisteet.

Parameters:
k - kierros jolle pisteet asetetaan, 1-2
i - tuomari jolle pisteet asetetaan 1-5
pist - tuomarin pisteet

compareTo

public int compareTo(Makihyppy2.Kilpailija kilp)
Verrataan omia tietoja kilp tietoihin.

Specified by:
compareTo in interface java.lang.Comparable<Makihyppy2.Kilpailija>
Parameters:
kilp - verrattava kilpailija
Returns:
-1 jos hävitään, 0 jos tasapeli, 1 jos voitetaan

equals

public boolean equals(java.lang.Object obj)
Tutkitaan onko sama tulos kuin toisella oliolla

Overrides:
equals in class java.lang.Object
Parameters:
obj - verrattava olio
Returns:
true jos sama tulos


Makihyppy2.Tulos

demo
Class Makihyppy2.Tulos

java.lang.Object
  extended by demo.Makihyppy2.Tulos
All Implemented Interfaces:
java.lang.Comparable<Makihyppy2.Tulos>
Enclosing class:
Makihyppy2

public static class Makihyppy2.Tulos
extends java.lang.Object
implements java.lang.Comparable<Makihyppy2.Tulos>

Luokka mäkihypyn yhden kilpailijan tulosta varten. Sisältää monta kierosta.

Example:
    Makihyppy2.Tulos tulos1 = new Makihyppy2.Tulos();
    Makihyppy2.Tulos tulos2 = new Makihyppy2.Tulos();

    tulos2.setPituus(1,107);
    tulos2.setPituus(2,100);
    tulos2.setTuomari(2,1,19.0);
    tulos2.setTuomari(2,2,18.0);
    tulos2.setTuomari(2,3,19.5);
    tulos2.setTuomari(2,4,18.0);
    tulos2.setTuomari(2,5,20.0);

    tulos1.setPituus(1,125);
    tulos1.setTuomari(1,1,20.0);
    tulos1.setTuomari(1,2,20.0);
    tulos1.setTuomari(1,3,20.0);
    tulos1.setTuomari(1,4,20.0);
    tulos1.setPituus(2,109);
    tulos1.setTuomari(2,1,20.0);
    tulos1.setTuomari(2,2,20.0);
    tulos1.setTuomari(2,3,20.0);
    tulos1.setTuomari(2,4,20.0);

    String s1 =  
     "Kierros 1  125.0 m.  Tuomarit:  20.0 20.0 20.0 20.0  0.0 = 125.0 pistettä\n"+
     "Kierros 2  109.0 m.  Tuomarit:  20.0 20.0 20.0 20.0  0.0 = 109.0 pistettä\n"+
     "Yhteensä:  234.0 pistettä.\n";
    tulos1.toString() === s1;
    
    String s2 =  
     "Kierros 1  107.0 m.  Tuomarit:   0.0  0.0  0.0  0.0  0.0 =   0.0 pistettä\n"+
     "Kierros 2  100.0 m.  Tuomarit:  19.0 18.0 19.5 18.0 20.0 =  96.5 pistettä\n"+
     "Yhteensä:   96.5 pistettä.\n";
    tulos2.toString() === s2;
    
    tulos1.compareTo(tulos2) === 1;
    tulos1.equals(tulos2)    === false;
    tulos2.compareTo(tulos1) === -1;
    tulos1.equals(s1)        === false;
 
 

Field Summary
private static int KIERROKSIA
           
private  Makihyppy2.Kierros[] kierros
           
 
Constructor Summary
Makihyppy2.Tulos()
          Alusteaan tulos luomalla kierrokset
 
Method Summary
 int compareTo(Makihyppy2.Tulos tul)
          Verrataan tulosta toiseen tulokseen.
 boolean equals(java.lang.Object obj)
          Tutkitaan onko tulos sama kuin obj
 double getYhteensa()
          Lasketaan kilpailijan pistemäärä
 void setPituus(int k, double pit)
          Asetetaan hypyn pituus kierrokselle k
 void setTuomari(int k, int i, double pist)
          Asetetaan kierroksen k i:n tuomarin pisteet.
 java.lang.String toString()
          Palautetaan tulos merkkijonona
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

KIERROKSIA

private static final int KIERROKSIA
See Also:
Constant Field Values

kierros

private final Makihyppy2.Kierros[] kierros
Constructor Detail

Makihyppy2.Tulos

public Makihyppy2.Tulos()
Alusteaan tulos luomalla kierrokset

Method Detail

setPituus

public void setPituus(int k,
                      double pit)
Asetetaan hypyn pituus kierrokselle k

Parameters:
k - kierros jolle pituus asetetaan
pit - hypyn pituus

setTuomari

public void setTuomari(int k,
                       int i,
                       double pist)
Asetetaan kierroksen k i:n tuomarin pisteet.

Parameters:
k - kierros jolle pisteet asetetaan, 1-2
i - tuomari jolle pisteet asetetaan 1-5
pist - tuomarin pisteet

getYhteensa

public double getYhteensa()
Lasketaan kilpailijan pistemäärä

Returns:
kilpailijan pistemäärä

toString

public java.lang.String toString()
Palautetaan tulos merkkijonona

Overrides:
toString in class java.lang.Object
Returns:
tulos merkkijonona

compareTo

public int compareTo(Makihyppy2.Tulos tul)
Verrataan tulosta toiseen tulokseen.

Specified by:
compareTo in interface java.lang.Comparable<Makihyppy2.Tulos>
Parameters:
tul - verrattava tulos
Returns:
-1 jos toinen paremp, 0 jos tasapeli ja 1 jos parempi

equals

public boolean equals(java.lang.Object obj)
Tutkitaan onko tulos sama kuin obj

Overrides:
equals in class java.lang.Object
Parameters:
obj - verrattava olio


MatriisiLaskut

demo
Class MatriisiLaskut

java.lang.Object
  extended by demo.MatriisiLaskut

public class MatriisiLaskut
extends java.lang.Object

Aliohjelmia matriisien käsittelyyn

Version:
1.0, 21.02.2003
Author:
Vesa Lappalainen
Example:
     private final double mat[][] = {
     { 1,2,3,4,5 },
     { 3,2,1,6,8 },
     { 9,2,4,1,2 }
   };

   private final double nolla[][] = {
     { 0,0,0 },
     { 0,0,0 }
   };
   
   private final double yks[][] = {
     { 1,0,0 },
     { 0,1,0 },
     { 0,0,1 }
   };
 

Constructor Summary
MatriisiLaskut()
           
 
Method Summary
static void main(java.lang.String[] args)
          Testataan matriisilaskuja
static double matriisinSumma(double[][] mat)
          Lasketaan matriisin alkioiden summa
static double matriisinSuurin(double[][] mat)
          Etsitään matriisin suurin alkio.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

MatriisiLaskut

public MatriisiLaskut()
Method Detail

matriisinSuurin

public static double matriisinSuurin(double[][] mat)
Etsitään matriisin suurin alkio. Rivit saavat olla eripituisiakin.

Parameters:
mat - matriisi, jonka suurinta alkiota etsitään-
Returns:
matriisin suurin arvo
Example:
    matriisinSuurin(mat)   ~~~ 9.0;
    matriisinSuurin(nolla) ~~~ 0.0;
    matriisinSuurin(yks)   ~~~ 1.0;
 

matriisinSumma

public static double matriisinSumma(double[][] mat)
Lasketaan matriisin alkioiden summa

Parameters:
mat - matriisn, jonka alkiot summataan
Returns:
matrisiin alkioiden summa.
Example:
    matriisinSumma(mat)   ~~~ 53.0;
    matriisinSumma(nolla) ~~~  0.0;
    matriisinSumma(yks)   ~~~  3.0;
 

main

public static void main(java.lang.String[] args)
Testataan matriisilaskuja

Parameters:
args - ei käytössä


Merkit.Esiintymat

demo
Class Merkit.Esiintymat

java.lang.Object
  extended by demo.Merkit.Esiintymat
Enclosing class:
Merkit

public static class Merkit.Esiintymat
extends java.lang.Object

Luokka joka laskee merkkien esiintymiä


Field Summary
private  int alku
           
private static int MAX_MERKKEJA
           
private  int[] merkit
           
 
Constructor Summary
Merkit.Esiintymat(int alku, int loppu)
          Alustetaan esiintymätaulukko
 
Method Summary
 void lisaa(char c)
          Lisätään merkin c esiintymiä
 void lisaa(java.lang.String s)
          Lisätään kaikkien jonossa s olevien merkkien esiintymiä
 void tulosta(java.io.OutputStream os)
          Tulostetaan taulukon esiintymät !
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

MAX_MERKKEJA

private static final int MAX_MERKKEJA
See Also:
Constant Field Values

merkit

private final int[] merkit

alku

private final int alku
Constructor Detail

Merkit.Esiintymat

public Merkit.Esiintymat(int alku,
                         int loppu)
Alustetaan esiintymätaulukko

Parameters:
alku - mistä kirjaimesta laskeminen aloitetaan
loppu - mitä kirjainta ei enää lasketa mukaan
Method Detail

tulosta

public void tulosta(java.io.OutputStream os)
Tulostetaan taulukon esiintymät != 0. Kustakin esiintymästä tulostetaan joko esiintymän kirjain tai sen ascii-koodi sen mukaan onko kirjain tulostuva vai ei. Yhdelle riville tulostetaan 8 esiintymän tiedot.

Parameters:
os - Tietovirta johon tulostetaan.

lisaa

public void lisaa(char c)
Lisätään merkin c esiintymiä

Parameters:
c - merkki jonka esiintymiä lisätään

lisaa

public void lisaa(java.lang.String s)
Lisätään kaikkien jonossa s olevien merkkien esiintymiä

Parameters:
s - jono jonka merkkien esiintymiä lisätään
Example:
 String NL = fi.jyu.mit.ohj2.Suuntaaja.getNL();
 Merkit.Esiintymat esiintymat = new Merkit.Esiintymat(0,256);
 ByteArrayOutputStream byteoutput;
 esiintymat.tulosta(byteoutput = new ByteArrayOutputStream());
 byteoutput.toString() === NL;
 esiintymat.lisaa('a');
 esiintymat.tulosta(byteoutput = new ByteArrayOutputStream());
 byteoutput.toString() === " a =   1" +NL;
 esiintymat.lisaa('\r');
 esiintymat.tulosta(byteoutput = new ByteArrayOutputStream());
 byteoutput.toString() === "0d =   1 a =   1" +NL;
 esiintymat.lisaa("kissa");
 esiintymat.tulosta(byteoutput = new ByteArrayOutputStream());
 byteoutput.toString() === "0d =   1 a =   2 i =   1 k =   1 s =   2" +NL;
 esiintymat = new Merkit.Esiintymat((int)'b',(int)'m');
 esiintymat.lisaa("kissa");
 esiintymat.tulosta(byteoutput = new ByteArrayOutputStream());
 byteoutput.toString() === " i =   1 k =   1" +NL;
 


Merkit

demo
Class Merkit

java.lang.Object
  extended by demo.Merkit

public class Merkit
extends java.lang.Object

Ohjelmalla lasketaan montako kertaa mikäkin merkki esiintyy tiedostossa.

Version:
1.0, 15.03.2003
Author:
Vesa Lappalainen

Nested Class Summary
static class Merkit.Esiintymat
          Luokka joka laskee merkkien esiintymiä
 
Constructor Summary
Merkit()
           
 
Method Summary
static void main(java.lang.String[] args)
          Lasketaan merkkien esiintymät tiedostossa.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

Merkit

public Merkit()
Method Detail

main

public static void main(java.lang.String[] args)
                 throws java.io.IOException
Lasketaan merkkien esiintymät tiedostossa.

Parameters:
args - tiedoston nimi jos halutaan, muuten nimi kysytään
Throws:
java.io.IOException
Example:
 #THROWS IOException
 #CLASSIMPORT
 #import java.io.*;
 #import fi.jyu.mit.ohj2.Suuntaaja;
 #import fi.jyu.mit.ohj2.VertaaTiedosto;
 Suuntaaja.StringOutput so = new Suuntaaja.StringOutput();
 VertaaTiedosto.kirjoitaTiedosto("koe.txt",
   "123456789012345678901234567890123456789012345678901234567890\n"+
   "Kissa istuu puussa\n"+
   "ja ihmettelee\n"+
   "mualiman menoa\n");
   
 Merkit.main(new String[]{"koe.txt"});
 
 String tulostus =
   "0a =   4   =   4 0 =   6 1 =   6 2 =   6 3 =   6 4 =   6 5 =   6 6 =   6\n" +
   " 7 =   6 8 =   6 9 =   6 K =   1 a =   6 e =   5 h =   1 i =   4 j =   1\n" +
   " l =   2 m =   4 n =   2 o =   1 p =   1 s =   5 t =   3 u =   5\n";
 so.ero(tulostus) === null;   
 so.palauta();   
 VertaaTiedosto.tuhoaTiedosto("koe.txt");
 


Numeroi

demo
Class Numeroi

java.lang.Object
  extended by demo.Numeroi

public class Numeroi
extends java.lang.Object

Ohjelmalla tulostetaan tiedosto niin että rivit on numeroitu ja niillä on tietty maksimipituus

Version:
1.0, 15.03.2003
Author:
Vesa Lappalainen

Constructor Summary
Numeroi()
           
 
Method Summary
static void main(java.lang.String[] args)
          Luetetaan tiedosto ja tulostetaan numeroituna.
static void ohjeet()
          Tulostaa ohjelman käyttöohjeet
static void tulosta_ja_numeroi(java.io.BufferedReader f, int maxpit)
          Tulostetaan tiedosto siten, että kunkin rivin alkun tulee rivinumero ja ylipitkät rivit katkaistaan.
static void tulosta(java.lang.String s)
          Tulostaa jonon päättelle
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

Numeroi

public Numeroi()
Method Detail

tulosta

public static void tulosta(java.lang.String s)
Tulostaa jonon päättelle

Parameters:
s - tulostettava jono

ohjeet

public static void ohjeet()
Tulostaa ohjelman käyttöohjeet


tulosta_ja_numeroi

public static void tulosta_ja_numeroi(java.io.BufferedReader f,
                                      int maxpit)
                               throws java.io.IOException
Tulostetaan tiedosto siten, että kunkin rivin alkun tulee rivinumero ja ylipitkät rivit katkaistaan.

Parameters:
f - avattu tiedosto, jota luetaan
maxpit - rivien maksimipituus
Throws:
java.io.IOException - jos lukemisessa tulee vikaa

main

public static void main(java.lang.String[] args)
                 throws java.io.IOException
Luetetaan tiedosto ja tulostetaan numeroituna.

Parameters:
args - args[0] = tiedoston nimi, args[1] = maxpit;
Throws:
java.io.IOException - jos tiedoston lukemisessa tulee vikaa
Example:
 #THROWS IOException
 #CLASSIMPORT
 #import fi.jyu.mit.ohj2.Suuntaaja;
 #import fi.jyu.mit.ohj2.VertaaTiedosto;
 #import java.io.*;
 Suuntaaja.StringOutput so = new Suuntaaja.StringOutput();
 VertaaTiedosto.kirjoitaTiedosto("koe.txt",
   "123456789012345678901234567890123456789012345678901234567890\n"+
   "Kissa istuu puussa\n"+
   "ja ihmettelee\n"+
   "mualiman menoa\n");
   
 Numeroi.main(new String[]{"koe.txt","40"});
 
 String tulostus =
   "/+ 01 +/ 1234567890123456789012345678901234567890\n"+
   "/+ 02 +/ Kissa istuu puussa\n"+
   "/+ 03 +/ ja ihmettelee\n"+
   "/+ 04 +/ mualiman menoa\n";
 tulostus = tulostus.replaceAll("\\+","*"); 
 so.ero(tulostus) === null;   
 so.palauta();   
 VertaaTiedosto.tuhoaTiedosto("koe.txt");
 


Numeroi1

demo
Class Numeroi1

java.lang.Object
  extended by demo.Numeroi1

public class Numeroi1
extends java.lang.Object

Ohjelmalla tulostetaan tiedosto niin että rivit on numeroitu ja max 40 pitkiä.

Version:
1.0, 15.03.2003
Author:
Vesa Lappalainen

Constructor Summary
Numeroi1()
           
 
Method Summary
static void main(java.lang.String[] args)
          Tulostetaan tiedosto numeroituna
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

Numeroi1

public Numeroi1()
Method Detail

main

public static void main(java.lang.String[] args)
                 throws java.io.IOException
Tulostetaan tiedosto numeroituna

Parameters:
args - ei käytössä
Throws:
java.io.IOException
Example:
 #THROWS IOException
 #CLASSIMPORT
 #import fi.jyu.mit.ohj2.Suuntaaja;
 #import fi.jyu.mit.ohj2.VertaaTiedosto;
 #import java.io.*;
 Suuntaaja.StringOutput so = new Suuntaaja.StringOutput();
 VertaaTiedosto.kirjoitaTiedosto("koe.txt",
   "123456789012345678901234567890123456789012345678901234567890\n"+
   "Kissa istuu puussa\n"+
   "ja ihmettelee\n"+
   "mualiman menoa\n");
   
 Numeroi1.main(null);
 
 String tulostus =
   "/+ 01 +/ 1234567890123456789012345678901234567890\n"+
   "/+ 02 +/ Kissa istuu puussa\n"+
   "/+ 03 +/ ja ihmettelee\n"+
   "/+ 04 +/ mualiman menoa\n";
 tulostus = tulostus.replaceAll("\\+","*"); 
 so.ero(tulostus) === null;   
 so.palauta();   
 VertaaTiedosto.tuhoaTiedosto("koe.txt");
 


demo demo
Interfaces 
Elukat.ElainRajapinta
Kopioituva
Classes 
Aanestys3
AanestysLiittyma
Alisotk2
ArrayListMalli
Astia
Astia2
AstiaPeli
AstiaPeli2
Demopisteet
Ehdokas
EhdTulostus
Elain
Elain.Kissa
Elain.Koira
Elain.Kotka
Elukat
Elukat.Kissa
Elukat.Koira
Elukat.Kotka
Esiintymat
Etumerkki
Etusuku
Etusuku2
Etusuku3
Henkilo
Henkilo2
HuoneAla
Ika
Int
Jokeri
KerhoRek
KerhoRek.Henkilo
Kertoma
Kirje
Kirje2D
KirjeCla
KirjeCla.HintaRivi
Kissat
Koksqrt
Kolmio
KolmioPiirto
KolmioPiirto.PiirtoIkkuna
KolmioPiirtoAWT
KolmioPiirtoAWT.PiirtoIkkuna
KolmioPiirtoSWT
Kombinaatiot
Koulu
Koulu.Oppilas
KouluLuokka
KouluLuokka.Oppilas
KouluLuokka2
KouluLuokka2.Oppilas
Kulku1
Kulku1.Laiva
Kulku1.Lentokone
Kulku2
Kulku2.Kulkuneuvo
Kulku2.Laiva
Kulku2.Lentokone
LinjaAuto
LinkitettyLista
LinkitettyLista.ListanAlkio
LisaaPvm
ListaaKaikki
LueUsers
LueUsers2
Makihyppy2
Makihyppy2.Kierros
Makihyppy2.Kilpailija
Makihyppy2.Tulos
MatriisiLaskut
Merkit
Merkit.Esiintymat
Numeroi
Numeroi1
Palindromi
Pienin
PiirtoMalli
PiirtoMalli.PiirtoIkkuna
PiirtoMalliSwing
PiirtoMalliSwing.PiirtoIkkuna
PiirtoMalliSwing.PiirtoPaneeli
Pisteet
Pnouseva
Poista
PoistaLopusta
PoistaTaulukosta
PoistaTest
Pvm
Pvm2
Pvm3
Rajat
StringFind
Taulukko
TaulukkoGen
TiedostonLukeminen
Tietokone
Toisto2
Toni
Toni.Kierros
Toni.Kilpailija
Toni.Tulos
TulYli30
User
Vaihda12
Vaihtoehdot
Vaihtoehdot2
Vali
Vali.TyhjaVali
Valinta
Viitteet
VKseko02
VKseko02.Sorsa
Exceptions 
Taulukko.TaulukkoTaysiException
demo

Package demo

Interface Summary
Elukat.ElainRajapinta Rajapinta eläimiä varten
Kopioituva Rajapinta kopioituvista olioista joilla on clone metodi toteutettuna
 

Class Summary
Aanestys3 Ohjelmalla äänestetään
AanestysLiittyma Luokka äänestyksen käyttöliittymälle
Alisotk2 Mitä ohjelma tulostaa??
ArrayListMalli Esimerkki Javan ArrayListin käytöstä
Astia John McLane (Bruce Willis) joutui elokuvassa Die Hard 3 ongelman eteen, jossa piti kahdella vesikanisterilla mitata jonkin muun suuruinen vesimäärä "tarkasti" ja näin estää pommin räjähtäminen.
Astia2 John McLane (Bruce Willis) joutui elokuvassa Die Hard 3 ongelman eteen, jossa piti kahdella vesikanisterilla mitata jonkin muun suuruinen vesimäärä "tarkasti" ja näin estää pommin räjähtäminen.
AstiaPeli John McLane (Bruce Willis) joutui elokuvassa Die Hard 3 ongelman eteen, jossa piti kahdella vesikanisterilla mitata jonkin muun suuruinen vesimäärä "tarkasti" ja näin estää pommin räjähtäminen.
AstiaPeli2 John McLane (Bruce Willis) joutui elokuvassa Die Hard 3 ongelman eteen, jossa piti kahdella vesikanisterilla mitata jonkin muun suuruinen vesimäärä "tarkasti" ja näin estää pommin räjähtäminen.
Demopisteet Ohjelmalla lasketaan demopisteet
Ehdokas Luokka vaalien ehdokkaalle, joka voi ostaa ääniä.
EhdTulostus Ohjelmalla tulostetaan tiedostosta ne rivit, jotka alkavat '**'
Elain Elain-luokka.
Elain.Kissa Kissa-luokka jossa on oma ääntele-metodi
Elain.Koira Koira-luokka jossa on oma ääntele-metodi
Elain.Kotka Kotka-luokka jossa on oma ääntele-metodi
Elukat Elukat rajapinnan avulla Elukat-luokka joka esittää eri eläimiä
Elukat.Kissa Kissa-luokka jossa on oma ääntele-metodi
Elukat.Koira Koira-luokka jossa on oma ääntele-metodi
Elukat.Kotka Kotka-luokka jossa on oma ääntele-metodi
Esiintymat Luokka Esiintymat lukujen määrän laskemiseksi
Etumerkki Ohjelmalla testataan luvun kuulumista tietylle välille.
Etusuku Testiohjelma etu -ja sukunimen vaihtamiseksi keskenään.
Etusuku2 Testiohjelma etu -ja sukunimen vaihtamiseksi keskenään.
Etusuku3 Testiohjelma etu -ja sukunimen vaihtamiseksi keskenään.
Henkilo Henkilo-luokka.
Henkilo2 Henkilo-luokka.
HuoneAla Testiohjelma huoneen tietojen kysymiseksi ja laskemiseksi
Ika Ohjelma joka kertoo henkilön iän syntymävuoden perusteella
Int Integer-luokka, jossa arvoa voi muuttaa
Jokeri Testataan onkoSamatKys -metodin toimintaa
KerhoRek Ohjelma
KerhoRek.Henkilo Henkilöluokka
Kertoma Ohjelmalla testataan kertoman laskemista
Kirje Ohjelmalla tutkitaan postimaksun suuruutta
Kirje2D Ohjelmalla tutkitaan postimaksun suuruutta, toteutettu 2D-taulukolla
KirjeCla Ohjelmalla tutkitaan postimaksun suuruutta, toteutettu olio-taulukolla
KirjeCla.HintaRivi HintaRivi-luokka postimaksua varten
Kissat Ohjelma laskee syöttörivillä olevien kissa-sanojen lukumäärän
Koksqrt Lasketaan mitkä kokonaisluvut ovat jonkin luvun neliöitä.
Kolmio Ohjelma laskee tietoja suorakulmaisesta kolmiosta.
KolmioPiirto Ohjelmalla piirretään rekursiivinen kolmio näyttöön
KolmioPiirto.PiirtoIkkuna Peritään piirto-ikkunan JFramesta
KolmioPiirtoAWT Ohjelmalla piirretään rekursiivinen kolmio näyttöön
KolmioPiirtoAWT.PiirtoIkkuna Ikkunaluokka johon piirretään
KolmioPiirtoSWT Kolmionpiirto SWT:llä
Kombinaatiot Kombinaatiot-luokka erilaisten summakombinaatioiden määrittelemiseksi.
Koulu Esimerkki linkitetystä listasta.
Koulu.Oppilas Luokan yksi oppilas
KouluLuokka Esimerkki linkitetystä listasta,
KouluLuokka.Oppilas Luokan yksi oppilas
KouluLuokka2 Esimerkki linkitetyn listan käytöstä oppilaille
KouluLuokka2.Oppilas Luokan yksi oppilas
Kulku1 Esimerkki kulkunevoista "kopioimalla".
Kulku1.Laiva Luokka laivan tiedoista
Kulku1.Lentokone Luokka lentokoneen tiedoista
Kulku2 Esimerkki kulkunevoista
Kulku2.Kulkuneuvo Yleinen kantaluokka kulkuneuvoille
Kulku2.Laiva Kulkuneuvosta peritty Laiva
Kulku2.Lentokone Kulkuneuvosta peritty lentokone
LinjaAuto Ohjelmalla tutkitaan linja-autojen tilankäyttöä.
LinkitettyLista<TYPE> Yleinen linkitetty lista jolla voi tallentaa mitä tahansa alioita.
LinkitettyLista.ListanAlkio<TYPE>  
LisaaPvm Ohjelmalla testataan päivämäärän lisäystä.
ListaaKaikki Ohjelmalla käydään koko hakemistopuu lävitse.
LueUsers Luetaan tiedosto ja tulostetaan sen muokattuna näytölle.
LueUsers2 Luetaan tiedosto ja tulostetaan sen muokattuna näytölle.
Makihyppy2 Luokkia mäkihyppyä varten
Makihyppy2.Kierros Luokka yhtä mäkihypyn kierrosta varten
Makihyppy2.Kilpailija Luokka kilpailijaa varten.
Makihyppy2.Tulos Luokka mäkihypyn yhden kilpailijan tulosta varten.
MatriisiLaskut Aliohjelmia matriisien käsittelyyn
Merkit Ohjelmalla lasketaan montako kertaa mikäkin merkki esiintyy tiedostossa.
Merkit.Esiintymat Luokka joka laskee merkkien esiintymiä
Numeroi Ohjelmalla tulostetaan tiedosto niin että rivit on numeroitu ja niillä on tietty maksimipituus
Numeroi1 Ohjelmalla tulostetaan tiedosto niin että rivit on numeroitu ja max 40 pitkiä.
Palindromi Ohjelmalla testataan palindromeja
Pienin Testaan pienmmän paikan ja luvun etsimistä
PiirtoMalli Ohjelmalla piirretään viiva näyttöön
PiirtoMalli.PiirtoIkkuna Ikkunaluokka johon piirretään
PiirtoMalliSwing Ohjelmalla piirretään viiva näyttöön.
PiirtoMalliSwing.PiirtoIkkuna Peritään piirto-ikkunan JFramesta
PiirtoMalliSwing.PiirtoPaneeli Peritään piirto-alue JPanelista
Pisteet Ohjelmalla testataan pisteet-metodin toimintaa
Pnouseva Palauttaa merkkijonosta pisimmän pelkästään kasvavan (samoja tai aakkosissa aina edeltäjäänsä "suurempia" merkkejä sisältävän) merkkijoukon pituuden.
Poista Testiohjelma jonosta poistolle
PoistaLopusta Ohjelmalla testataan jonon lopusta merkkien poistamista
PoistaTaulukosta Aliohjelma joka "poistaa" taulukosta tietyt luvut
PoistaTest Testataan Poista-luokan metodeja 1) Ollaan aluksi testattavan luokan kohdalla 2) File/New/JUnit Test Case 3) Ruksitaan tarvittaessa setUp() (alustus ennen testejä) ja tearDown() (testien jälkeen tehtävät operaatiot) Näihin ovi kuulua esim. olioiden luomista ja vapauttamista.
Pvm Alustava luokka päivämäärää varten
Pvm2 Alustava luokka päivämäärää varten
Pvm3 Päiväys koneesta.
Rajat Aliohjelmia taulukon raja-arvojen etsimiseen
StringFind Ohjelmalla tutkitaan String-luokan metodeja
Taulukko Esimerkki dynaamisesta taulukosta
TaulukkoGen<TYPE> Esimerkki dynaamisesta taulukosta
TiedostonLukeminen Luetaan tiedosto ja tulostetaan se näytölle.
Tietokone Luokka tietokoneen ominaisuuksita
Toisto2 Ohjelmalla tulostetaan tiettyä tekstiä tiedostoon
Toni Luokkien alut mäkihyppyä varten.
Toni.Kierros Luokka yhtä mäkihypyn kierrosta varten
Toni.Kilpailija Luokka yhtä mäkihypyn kilpailijaa varten.
Toni.Tulos Luokka mäkihypyn yhden kilpailijan tulosta varten.
TulYli30 Ohjelmalla kopioidaan sellaiset rivit toiseen tiedostoon, joiden alussa on yli 30 oleva luku.
User Luokka, joka tallettaa demokäyttäjän tietoja.
Vaihda12 Testiohjelma jonon kahden ensimmäisen sanan järjestämiseksi
Vaihtoehdot Luokka äänestyksen vaihtoehdoille
Vaihtoehdot2 Luokka äänestyksen vaihtoehdoille
Vali Luokka reaalilukuvälin käsittelyyn
Vali.TyhjaVali Luokka edustamaan tyhjää väliä
Valinta Luokka äänestyksen yhdelle vaihtoehdolle
Viitteet Testiohjelma viitteille
VKseko02 Tutki päytätestin avulla mitä ohjelma tulostaa.
VKseko02.Sorsa  
 

Exception Summary
Taulukko.TaulukkoTaysiException Poikkeusluokka täydelle taulukolle
 



demo Class Hierarchy

Hierarchy For Package demo

Package Hierarchies:
All Packages

Class Hierarchy

Interface Hierarchy



Palindromi

demo
Class Palindromi

java.lang.Object
  extended by demo.Palindromi

public class Palindromi
extends java.lang.Object

Ohjelmalla testataan palindromeja

Version:
1.0, 21.02.2003
Author:
Vesa Lappalainen

Constructor Summary
Palindromi()
           
 
Method Summary
static boolean onkoPalindromi(java.lang.String jono)
           Funktio palauttaa true mikäli jono on palindromi false muuten ------------------------------------------------------------- Algoritmi: Aloitetaan jonon 1. ja viimeisestä kirjaimesta Verrataan ko. kirjaimia Jos erit, niin lopetetaan, ei ole muuten siirrytään yksi sisäänpäin ja jatketaan vertaamista kunnes kaikki kirjaimet testattu Oli palindromi 0.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

Palindromi

public Palindromi()
Method Detail

onkoPalindromi

public static boolean onkoPalindromi(java.lang.String jono)
     Funktio palauttaa true mikäli jono on palindromi
                       false muuten
  -------------------------------------------------------------
  Algoritmi:
    Aloitetaan jonon 1. ja viimeisestä kirjaimesta
    Verrataan ko. kirjaimia
      Jos erit, niin lopetetaan, ei ole
      muuten siirrytään yksi sisäänpäin ja jatketaan
      vertaamista kunnes kaikki kirjaimet testattu
    Oli palindromi

    0.  alku = 0, loppu = jonon pituus-1
    1.  jos alku >= loppu niin palauta OLI
    2.  jos kirjaimet paikoissa alku ja loppu erit, niin
        palauta EI OLLUT
    3.  alku=alku+1 ja loppu=loppu-1
    4.  jatka 1
    5.  palauta OLI
  -------------------------------------------------------------
  
HUOM! return jono.equals(jono.reverse()) ei ole hyvä ratkaisu! Miksi?

Parameters:
jono - josta tutkitaan onk palindromi
Returns:
oliko palindromi (true) vai ei (false)
Example:
   onkoPalindromi("")                === true;
   onkoPalindromi("a")               === true;
   onkoPalindromi("aa")              === true;
   onkoPalindromi("ab")              === false;
   onkoPalindromi("aba")             === true;
   onkoPalindromi("abc")             === false;
   onkoPalindromi("kissa")           === false;
   onkoPalindromi("saippuakauppias") === true;
   onkoPalindromi("abba")            === true;
   onkoPalindromi("apua")            === false;
 
 


Pienin

demo
Class Pienin

java.lang.Object
  extended by demo.Pienin

public class Pienin
extends java.lang.Object

Testaan pienmmän paikan ja luvun etsimistä

Version:
1.0, 07.02.2003
Author:
Vesa Lappalainen

Constructor Summary
Pienin()
           
 
Method Summary
static void main(java.lang.String[] args)
          Testataan pienimmän halua
static int pienimmanPaikka(int[] luvut)
          Etsii taulukon pienimmän luvun paikan
static int pienin(int[] luvut)
          Etsii taulukon pienimmän luvun
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

Pienin

public Pienin()
Method Detail

pienimmanPaikka

public static int pienimmanPaikka(int[] luvut)
Etsii taulukon pienimmän luvun paikan

Parameters:
luvut - taulukko josta etsitään
Returns:
pienemmin luvun indeksi
Example:
 #STATICIMPORT
   int k_pituudet[] = {31,28,31,30,31,30,31,31,30,31,30,31};
   pienimmanPaikka(k_pituudet) === 1;
     
   pienimmanPaikka(new int[]{$luvut}) === $paikka;
   
     $luvut     |   $paikka
    -----------------------------
    |           |     0
     0          |     0
     0,1        |     0
     1,0        |     1
     0,1,2      |     0
     1,0,2      |     1
     1,2,0      |     2                 
   
 

pienin

public static int pienin(int[] luvut)
Etsii taulukon pienimmän luvun

Parameters:
luvut - taulukko josta etsitään
Returns:
pienimmän luvun arvo
Example:
 #STATICIMPORT
   int k_pituudet[] = {31,28,31,30,31,30,31,31,30,31,30,31};
   pienin(k_pituudet) === 28;
     
   pienin(new int[]{$luvut}) === $pienin;
   
     $luvut     |   $pienin
    -----------------------------
    |           |    Integer.MAX_VALUE
     0          |     0
     0,1        |     0
     1,0        |     0
     0,1,2      |     0
     1,0,2      |     0
     1,2,0      |     0       
     1,-1,2     |    -1          
   
 

main

public static void main(java.lang.String[] args)
Testataan pienimmän halua

Parameters:
args - ei käytössä


PiirtoMalli

demo
Class PiirtoMalli

java.lang.Object
  extended by demo.PiirtoMalli

public class PiirtoMalli
extends java.lang.Object

Ohjelmalla piirretään viiva näyttöön

Version:
1.0, 24.03.2003
Author:
Vesa Lappalainen

Nested Class Summary
static class PiirtoMalli.PiirtoIkkuna
          Ikkunaluokka johon piirretään
 
Constructor Summary
PiirtoMalli()
           
 
Method Summary
static void main(java.lang.String[] args)
          Luodaan pääohjelmassa piirto-ikkuna ja laitetaan se näkyville.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

PiirtoMalli

public PiirtoMalli()
Method Detail

main

public static void main(java.lang.String[] args)
Luodaan pääohjelmassa piirto-ikkuna ja laitetaan se näkyville.

Parameters:
args - ei käytössä


PiirtoMalli.PiirtoIkkuna

demo
Class PiirtoMalli.PiirtoIkkuna

java.lang.Object
  extended by java.awt.Component
      extended by java.awt.Container
          extended by java.awt.Window
              extended by java.awt.Frame
                  extended by demo.PiirtoMalli.PiirtoIkkuna
All Implemented Interfaces:
java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable, javax.accessibility.Accessible
Enclosing class:
PiirtoMalli

public static class PiirtoMalli.PiirtoIkkuna
extends java.awt.Frame

Ikkunaluokka johon piirretään

See Also:
Serialized Form

Nested Class Summary
private  class PiirtoMalli.PiirtoIkkuna.SuljeIkkuna
          Ikkunan sulkeva luokka
 
Nested classes/interfaces inherited from class java.awt.Frame
java.awt.Frame.AccessibleAWTFrame
 
Nested classes/interfaces inherited from class java.awt.Window
java.awt.Window.AccessibleAWTWindow
 
Nested classes/interfaces inherited from class java.awt.Container
java.awt.Container.AccessibleAWTContainer
 
Nested classes/interfaces inherited from class java.awt.Component
java.awt.Component.AccessibleAWTComponent, java.awt.Component.BaselineResizeBehavior, java.awt.Component.BltBufferStrategy, java.awt.Component.FlipBufferStrategy
 
Field Summary
private static long serialVersionUID
           
 
Fields inherited from class java.awt.Frame
CROSSHAIR_CURSOR, DEFAULT_CURSOR, E_RESIZE_CURSOR, HAND_CURSOR, ICONIFIED, MAXIMIZED_BOTH, MAXIMIZED_HORIZ, MAXIMIZED_VERT, MOVE_CURSOR, N_RESIZE_CURSOR, NE_RESIZE_CURSOR, NORMAL, NW_RESIZE_CURSOR, S_RESIZE_CURSOR, SE_RESIZE_CURSOR, SW_RESIZE_CURSOR, TEXT_CURSOR, W_RESIZE_CURSOR, WAIT_CURSOR
 
Fields inherited from class java.awt.Component
BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
 
Fields inherited from interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
 
Constructor Summary
PiirtoMalli.PiirtoIkkuna(int x, int y, int w, int h)
          Alustetaan ikkunan rajat
 
Method Summary
 void paint(java.awt.Graphics g)
          Metodi jota kutsutaan aina kun ikkuna haluaa piirtää itsensä uudelleen.
 
Methods inherited from class java.awt.Frame
addNotify, getAccessibleContext, getCursorType, getExtendedState, getFrames, getIconImage, getMaximizedBounds, getMenuBar, getState, getTitle, isResizable, isUndecorated, paramString, remove, removeNotify, setCursor, setExtendedState, setIconImage, setMaximizedBounds, setMenuBar, setResizable, setState, setTitle, setUndecorated
 
Methods inherited from class java.awt.Window
addPropertyChangeListener, addPropertyChangeListener, addWindowFocusListener, addWindowListener, addWindowStateListener, applyResourceBundle, applyResourceBundle, createBufferStrategy, createBufferStrategy, dispose, getBufferStrategy, getFocusableWindowState, getFocusCycleRootAncestor, getFocusOwner, getFocusTraversalKeys, getGraphicsConfiguration, getIconImages, getInputContext, getListeners, getLocale, getModalExclusionType, getMostRecentFocusOwner, getOwnedWindows, getOwner, getOwnerlessWindows, getToolkit, getWarningString, getWindowFocusListeners, getWindowListeners, getWindows, getWindowStateListeners, hide, isActive, isAlwaysOnTop, isAlwaysOnTopSupported, isFocusableWindow, isFocusCycleRoot, isFocused, isLocationByPlatform, isShowing, pack, postEvent, processEvent, processWindowEvent, processWindowFocusEvent, processWindowStateEvent, removeWindowFocusListener, removeWindowListener, removeWindowStateListener, reshape, setAlwaysOnTop, setBounds, setBounds, setCursor, setFocusableWindowState, setFocusCycleRoot, setIconImages, setLocationByPlatform, setLocationRelativeTo, setMinimumSize, setModalExclusionType, setSize, setSize, setVisible, show, toBack, toFront
 
Methods inherited from class java.awt.Container
add, add, add, add, add, addContainerListener, addImpl, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getAlignmentX, getAlignmentY, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalPolicy, getInsets, getLayout, getMaximumSize, getMinimumSize, getMousePosition, getPreferredSize, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, print, printComponents, processContainerEvent, remove, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusTraversalKeys, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setFont, setLayout, transferFocusBackward, transferFocusDownCycle, update, validate, validateTree
 
Methods inherited from class java.awt.Component
action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, bounds, checkImage, checkImage, coalesceEvents, contains, contains, createImage, createImage, createVolatileImage, createVolatileImage, disable, disableEvents, dispatchEvent, enable, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getBackground, getBaseline, getBaselineResizeBehavior, getBounds, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getFontMetrics, getForeground, getGraphics, getHeight, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocation, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPeer, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getSize, getTreeLock, getWidth, getX, getY, gotFocus, handleEvent, hasFocus, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isDoubleBuffered, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isOpaque, isPreferredSizeSet, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, prepareImage, prepareImage, printAll, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processKeyEvent, processMouseEvent, processMouseMotionEvent, processMouseWheelEvent, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, repaint, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resize, resize, setBackground, setComponentOrientation, setDropTarget, setEnabled, setFocusable, setFocusTraversalKeysEnabled, setForeground, setIgnoreRepaint, setLocale, setLocation, setLocation, setMaximumSize, setName, setPreferredSize, show, size, toString, transferFocus, transferFocusUpCycle
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface java.awt.MenuContainer
getFont, postEvent
 

Field Detail

serialVersionUID

private static final long serialVersionUID
See Also:
Constant Field Values
Constructor Detail

PiirtoMalli.PiirtoIkkuna

public PiirtoMalli.PiirtoIkkuna(int x,
                                int y,
                                int w,
                                int h)
Alustetaan ikkunan rajat

Parameters:
x - ylänurkan x
y - ylänurkan y
w - ikkunan leveys
h - ikkunan kokrkeus
Method Detail

paint

public void paint(java.awt.Graphics g)
Metodi jota kutsutaan aina kun ikkuna haluaa piirtää itsensä uudelleen. Piirretään aina sama viiva

Overrides:
paint in class java.awt.Container
Parameters:
g - Grfiikkaolio jolla tiedot piirtopinnasta


PiirtoMalli.PiirtoIkkuna.SuljeIkkuna

demo
Class PiirtoMalli.PiirtoIkkuna.SuljeIkkuna

java.lang.Object
  extended by java.awt.event.WindowAdapter
      extended by demo.PiirtoMalli.PiirtoIkkuna.SuljeIkkuna
All Implemented Interfaces:
java.awt.event.WindowFocusListener, java.awt.event.WindowListener, java.awt.event.WindowStateListener, java.util.EventListener
Enclosing class:
PiirtoMalli.PiirtoIkkuna

private class PiirtoMalli.PiirtoIkkuna.SuljeIkkuna
extends java.awt.event.WindowAdapter

Ikkunan sulkeva luokka


Constructor Summary
private PiirtoMalli.PiirtoIkkuna.SuljeIkkuna()
           
 
Method Summary
 void windowClosing(java.awt.event.WindowEvent event)
          Sulkemismetodi
 
Methods inherited from class java.awt.event.WindowAdapter
windowActivated, windowClosed, windowDeactivated, windowDeiconified, windowGainedFocus, windowIconified, windowLostFocus, windowOpened, windowStateChanged
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

PiirtoMalli.PiirtoIkkuna.SuljeIkkuna

private PiirtoMalli.PiirtoIkkuna.SuljeIkkuna()
Method Detail

windowClosing

public void windowClosing(java.awt.event.WindowEvent event)
Sulkemismetodi

Specified by:
windowClosing in interface java.awt.event.WindowListener
Overrides:
windowClosing in class java.awt.event.WindowAdapter
Parameters:
event - sulkemistapahtuman tiedot


PiirtoMalliSwing

demo
Class PiirtoMalliSwing

java.lang.Object
  extended by demo.PiirtoMalliSwing

public class PiirtoMalliSwing
extends java.lang.Object

Ohjelmalla piirretään viiva näyttöön. Swing toteutus.

Version:
1.0, 24.03.2003
Author:
Vesa Lappalainen

Nested Class Summary
static class PiirtoMalliSwing.PiirtoIkkuna
          Peritään piirto-ikkunan JFramesta
static class PiirtoMalliSwing.PiirtoPaneeli
          Peritään piirto-alue JPanelista
 
Constructor Summary
PiirtoMalliSwing()
           
 
Method Summary
static void main(java.lang.String[] args)
          Luodaan pääohjelmassa piirto-ikkuna ja laitetaan se näkyville.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

PiirtoMalliSwing

public PiirtoMalliSwing()
Method Detail

main

public static void main(java.lang.String[] args)
Luodaan pääohjelmassa piirto-ikkuna ja laitetaan se näkyville.

Parameters:
args - ei käytössä


PiirtoMalliSwing.PiirtoIkkuna

demo
Class PiirtoMalliSwing.PiirtoIkkuna

java.lang.Object
  extended by java.awt.Component
      extended by java.awt.Container
          extended by java.awt.Window
              extended by java.awt.Frame
                  extended by javax.swing.JFrame
                      extended by demo.PiirtoMalliSwing.PiirtoIkkuna
All Implemented Interfaces:
java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable, javax.accessibility.Accessible, javax.swing.RootPaneContainer, javax.swing.WindowConstants
Enclosing class:
PiirtoMalliSwing

public static class PiirtoMalliSwing.PiirtoIkkuna
extends javax.swing.JFrame

Peritään piirto-ikkunan JFramesta

See Also:
Serialized Form

Nested Class Summary
private  class PiirtoMalliSwing.PiirtoIkkuna.SuljeIkkuna
           
 
Nested classes/interfaces inherited from class javax.swing.JFrame
javax.swing.JFrame.AccessibleJFrame
 
Nested classes/interfaces inherited from class java.awt.Frame
java.awt.Frame.AccessibleAWTFrame
 
Nested classes/interfaces inherited from class java.awt.Window
java.awt.Window.AccessibleAWTWindow
 
Nested classes/interfaces inherited from class java.awt.Container
java.awt.Container.AccessibleAWTContainer
 
Nested classes/interfaces inherited from class java.awt.Component
java.awt.Component.AccessibleAWTComponent, java.awt.Component.BaselineResizeBehavior, java.awt.Component.BltBufferStrategy, java.awt.Component.FlipBufferStrategy
 
Field Summary
private static long serialVersionUID
           
 
Fields inherited from class javax.swing.JFrame
accessibleContext, EXIT_ON_CLOSE, rootPane, rootPaneCheckingEnabled
 
Fields inherited from class java.awt.Frame
CROSSHAIR_CURSOR, DEFAULT_CURSOR, E_RESIZE_CURSOR, HAND_CURSOR, ICONIFIED, MAXIMIZED_BOTH, MAXIMIZED_HORIZ, MAXIMIZED_VERT, MOVE_CURSOR, N_RESIZE_CURSOR, NE_RESIZE_CURSOR, NORMAL, NW_RESIZE_CURSOR, S_RESIZE_CURSOR, SE_RESIZE_CURSOR, SW_RESIZE_CURSOR, TEXT_CURSOR, W_RESIZE_CURSOR, WAIT_CURSOR
 
Fields inherited from class java.awt.Component
BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
 
Fields inherited from interface javax.swing.WindowConstants
DISPOSE_ON_CLOSE, DO_NOTHING_ON_CLOSE, HIDE_ON_CLOSE
 
Fields inherited from interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
 
Constructor Summary
PiirtoMalliSwing.PiirtoIkkuna(int x, int y, int w, int h)
          Alustetaan ikkunan tiedot
 
Method Summary
 
Methods inherited from class javax.swing.JFrame
addImpl, createRootPane, frameInit, getAccessibleContext, getContentPane, getDefaultCloseOperation, getGlassPane, getGraphics, getJMenuBar, getLayeredPane, getRootPane, getTransferHandler, isDefaultLookAndFeelDecorated, isRootPaneCheckingEnabled, paramString, processWindowEvent, remove, repaint, setContentPane, setDefaultCloseOperation, setDefaultLookAndFeelDecorated, setGlassPane, setIconImage, setJMenuBar, setLayeredPane, setLayout, setRootPane, setRootPaneCheckingEnabled, setTransferHandler, update
 
Methods inherited from class java.awt.Frame
addNotify, getCursorType, getExtendedState, getFrames, getIconImage, getMaximizedBounds, getMenuBar, getState, getTitle, isResizable, isUndecorated, remove, removeNotify, setCursor, setExtendedState, setMaximizedBounds, setMenuBar, setResizable, setState, setTitle, setUndecorated
 
Methods inherited from class java.awt.Window
addPropertyChangeListener, addPropertyChangeListener, addWindowFocusListener, addWindowListener, addWindowStateListener, applyResourceBundle, applyResourceBundle, createBufferStrategy, createBufferStrategy, dispose, getBufferStrategy, getFocusableWindowState, getFocusCycleRootAncestor, getFocusOwner, getFocusTraversalKeys, getGraphicsConfiguration, getIconImages, getInputContext, getListeners, getLocale, getModalExclusionType, getMostRecentFocusOwner, getOwnedWindows, getOwner, getOwnerlessWindows, getToolkit, getWarningString, getWindowFocusListeners, getWindowListeners, getWindows, getWindowStateListeners, hide, isActive, isAlwaysOnTop, isAlwaysOnTopSupported, isFocusableWindow, isFocusCycleRoot, isFocused, isLocationByPlatform, isShowing, pack, postEvent, processEvent, processWindowFocusEvent, processWindowStateEvent, removeWindowFocusListener, removeWindowListener, removeWindowStateListener, reshape, setAlwaysOnTop, setBounds, setBounds, setCursor, setFocusableWindowState, setFocusCycleRoot, setIconImages, setLocationByPlatform, setLocationRelativeTo, setMinimumSize, setModalExclusionType, setSize, setSize, setVisible, show, toBack, toFront
 
Methods inherited from class java.awt.Container
add, add, add, add, add, addContainerListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getAlignmentX, getAlignmentY, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalPolicy, getInsets, getLayout, getMaximumSize, getMinimumSize, getMousePosition, getPreferredSize, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paint, paintComponents, preferredSize, print, printComponents, processContainerEvent, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusTraversalKeys, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setFont, transferFocusBackward, transferFocusDownCycle, validate, validateTree
 
Methods inherited from class java.awt.Component
action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, bounds, checkImage, checkImage, coalesceEvents, contains, contains, createImage, createImage, createVolatileImage, createVolatileImage, disable, disableEvents, dispatchEvent, enable, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getBackground, getBaseline, getBaselineResizeBehavior, getBounds, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getFontMetrics, getForeground, getHeight, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocation, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPeer, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getSize, getTreeLock, getWidth, getX, getY, gotFocus, handleEvent, hasFocus, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isDoubleBuffered, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isOpaque, isPreferredSizeSet, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, prepareImage, prepareImage, printAll, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processKeyEvent, processMouseEvent, processMouseMotionEvent, processMouseWheelEvent, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resize, resize, setBackground, setComponentOrientation, setDropTarget, setEnabled, setFocusable, setFocusTraversalKeysEnabled, setForeground, setIgnoreRepaint, setLocale, setLocation, setLocation, setMaximumSize, setName, setPreferredSize, show, size, toString, transferFocus, transferFocusUpCycle
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface java.awt.MenuContainer
getFont, postEvent
 

Field Detail

serialVersionUID

private static final long serialVersionUID
See Also:
Constant Field Values
Constructor Detail

PiirtoMalliSwing.PiirtoIkkuna

public PiirtoMalliSwing.PiirtoIkkuna(int x,
                                     int y,
                                     int w,
                                     int h)
Alustetaan ikkunan tiedot

Parameters:
x - ylänurkan x
y - ylänurkan y
w - ikkunan leveys
h - ikkunan korkeus


PiirtoMalliSwing.PiirtoIkkuna.SuljeIkkuna

demo
Class PiirtoMalliSwing.PiirtoIkkuna.SuljeIkkuna

java.lang.Object
  extended by java.awt.event.WindowAdapter
      extended by demo.PiirtoMalliSwing.PiirtoIkkuna.SuljeIkkuna
All Implemented Interfaces:
java.awt.event.WindowFocusListener, java.awt.event.WindowListener, java.awt.event.WindowStateListener, java.util.EventListener
Enclosing class:
PiirtoMalliSwing.PiirtoIkkuna

private class PiirtoMalliSwing.PiirtoIkkuna.SuljeIkkuna
extends java.awt.event.WindowAdapter


Constructor Summary
private PiirtoMalliSwing.PiirtoIkkuna.SuljeIkkuna()
           
 
Method Summary
 void windowClosing(java.awt.event.WindowEvent event)
          Sulkemismetodi
 
Methods inherited from class java.awt.event.WindowAdapter
windowActivated, windowClosed, windowDeactivated, windowDeiconified, windowGainedFocus, windowIconified, windowLostFocus, windowOpened, windowStateChanged
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

PiirtoMalliSwing.PiirtoIkkuna.SuljeIkkuna

private PiirtoMalliSwing.PiirtoIkkuna.SuljeIkkuna()
Method Detail

windowClosing

public void windowClosing(java.awt.event.WindowEvent event)
Sulkemismetodi

Specified by:
windowClosing in interface java.awt.event.WindowListener
Overrides:
windowClosing in class java.awt.event.WindowAdapter
Parameters:
event - sulkemistapahtuman tiedot


PiirtoMalliSwing.PiirtoPaneeli

demo
Class PiirtoMalliSwing.PiirtoPaneeli

java.lang.Object
  extended by java.awt.Component
      extended by java.awt.Container
          extended by javax.swing.JComponent
              extended by javax.swing.JPanel
                  extended by demo.PiirtoMalliSwing.PiirtoPaneeli
All Implemented Interfaces:
java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable, javax.accessibility.Accessible
Enclosing class:
PiirtoMalliSwing

public static class PiirtoMalliSwing.PiirtoPaneeli
extends javax.swing.JPanel

Peritään piirto-alue JPanelista

See Also:
Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from class javax.swing.JPanel
javax.swing.JPanel.AccessibleJPanel
 
Nested classes/interfaces inherited from class javax.swing.JComponent
javax.swing.JComponent.AccessibleJComponent
 
Nested classes/interfaces inherited from class java.awt.Container
java.awt.Container.AccessibleAWTContainer
 
Nested classes/interfaces inherited from class java.awt.Component
java.awt.Component.AccessibleAWTComponent, java.awt.Component.BaselineResizeBehavior, java.awt.Component.BltBufferStrategy, java.awt.Component.FlipBufferStrategy
 
Field Summary
private static long serialVersionUID
           
 
Fields inherited from class javax.swing.JComponent
accessibleContext, listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW
 
Fields inherited from class java.awt.Component
BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
 
Fields inherited from interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
 
Constructor Summary
PiirtoMalliSwing.PiirtoPaneeli()
           
 
Method Summary
 void paintComponent(java.awt.Graphics g)
          Komponentin piirtäminen.
 
Methods inherited from class javax.swing.JPanel
getAccessibleContext, getUI, getUIClassID, paramString, setUI, updateUI
 
Methods inherited from class javax.swing.JComponent
addAncestorListener, addNotify, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, getBaseline, getBaselineResizeBehavior, getBorder, getBounds, getClientProperty, getComponentGraphics, getComponentPopupMenu, getConditionForKeyStroke, getDebugGraphicsOptions, getDefaultLocale, getFontMetrics, getGraphics, getHeight, getInheritsPopupMenu, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getPopupLocation, getPreferredSize, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getTransferHandler, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getWidth, getVisibleRect, getX, getY, grabFocus, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, paintImmediately, paintImmediately, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processKeyBinding, processKeyEvent, processMouseEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeNotify, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resetKeyboardActions, reshape, revalidate, scrollRectToVisible, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setComponentPopupMenu, setDebugGraphicsOptions, setDefaultLocale, setDoubleBuffered, setEnabled, setFocusTraversalKeys, setFont, setForeground, setInheritsPopupMenu, setInputMap, setInputVerifier, setMaximumSize, setMinimumSize, setNextFocusableComponent, setOpaque, setPreferredSize, setRequestFocusEnabled, setToolTipText, setTransferHandler, setUI, setVerifyInputWhenFocusTarget, setVisible, unregisterKeyboardAction, update
 
Methods inherited from class java.awt.Container
add, add, add, add, add, addContainerListener, addImpl, addPropertyChangeListener, addPropertyChangeListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalKeys, getFocusTraversalPolicy, getLayout, getMousePosition, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, printComponents, processContainerEvent, processEvent, remove, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusCycleRoot, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setLayout, transferFocusBackward, transferFocusDownCycle, validate, validateTree
 
Methods inherited from class java.awt.Component
action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, bounds, checkImage, checkImage, coalesceEvents, contains, createImage, createImage, createVolatileImage, createVolatileImage, disableEvents, dispatchEvent, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getBackground, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getForeground, getGraphicsConfiguration, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocale, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPeer, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, hide, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isPreferredSizeSet, isShowing, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, postEvent, prepareImage, prepareImage, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setName, setSize, setSize, show, show, size, toString, transferFocus, transferFocusUpCycle
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

serialVersionUID

private static final long serialVersionUID
See Also:
Constant Field Values
Constructor Detail

PiirtoMalliSwing.PiirtoPaneeli

public PiirtoMalliSwing.PiirtoPaneeli()
Method Detail

paintComponent

public void paintComponent(java.awt.Graphics g)
Komponentin piirtäminen. Piirretään aina sama viiva.

Overrides:
paintComponent in class javax.swing.JComponent
Parameters:
g -


Pisteet

demo
Class Pisteet

java.lang.Object
  extended by demo.Pisteet

public class Pisteet
extends java.lang.Object

Ohjelmalla testataan pisteet-metodin toimintaa

Since:
1.4
Version:
1.0, 11.01.2002
Author:
Vesa Lappalainen

Constructor Summary
Pisteet()
           
 
Method Summary
static void main(java.lang.String[] args)
          Testatan pisteet-aliohjelmaa
static double pisteet(java.lang.String rivi)
          Tutkitaan ensin etta syöttö on varmasti muotoa teht1.txt = [T1-2:1.5] - oikea muoto eli jotakin = [T jotakin : jotakin ] jotakin jollei ole, palautetaan 0 pistetta.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

Pisteet

public Pisteet()
Method Detail

pisteet

public static double pisteet(java.lang.String rivi)
Tutkitaan ensin etta syöttö on varmasti muotoa
teht1.txt = [T1-2:1.5] - oikea muoto
eli
jotakin = [T jotakin : jotakin ] jotakin
jollei ole, palautetaan 0 pistetta. Jos on, voidaan "huoleti" katkaista ensimmäisen : kohdalta ja sitten otetaan siita alkava numero.

Parameters:
rivi - tutkittava merkkijono
Returns:
kaksoispisteen jälkeinen desimaaliluku
Example:
 
 pisteet($rivi) ~~~ $tulos; 
   
   $rivi                                        | $tulos
 ------------------------------------------------------------------
  "teht1.txt = [T1-2:1.5] - oikea muoto      "  | 1.5
  "teht1.txt = [T1-2,1.5] - ei :             "  | 0.0
  "teht1.txt = (T1-2:1.5) - väärat sulut     "  | 0.0
  "teht1.txt = [T1-2:1,5] - pilkku eikä piste"  | 1.0
  "teht1.txt = [T1-2:1.5.1] - liian monta .  "  | 1.5
  "teht1.txt = T1-2:1.5 - sulut puuttuu      "  | 0.0
  "teht1.txt  [T1-2:1.5] - =-merkki puuttuu  "  | 0.0
  "teht1.txt = [G1-2:1.5] - väära kirjain    "  | 0.0
 ------------------------------------------------------------------
 

main

public static void main(java.lang.String[] args)
Testatan pisteet-aliohjelmaa

Parameters:
args - ei käytössä


Pnouseva

demo
Class Pnouseva

java.lang.Object
  extended by demo.Pnouseva

public class Pnouseva
extends java.lang.Object

Palauttaa merkkijonosta pisimmän pelkästään kasvavan (samoja tai aakkosissa aina edeltäjäänsä "suurempia" merkkejä sisältävän) merkkijoukon pituuden.

  Algoritmi:
  ==========

  Tutkitaan merkkijonon jokaisen merkin kohdalta, kuinka pitkä jono
  siitä eteenpäin on kasvavia merkkejä ja palutetaan pisimmän
  löytyneen kasvavan jonon pituus.

  0. Mennään jonon alkuun.
  1. Jos ollaan lopussa palautetaan pisimmän löytyneen kasvavan
     jonon pituus ja lopetetaan.
  2. Tutkitaan kuinka pitkä kasvava jono alkaa kohdalla olevasta
     merkistä.
  3. Jos kasvava jono on pitempi kuin tähänastinen pisin, niin
     merkataan tämä pisimmäksi.
  4. Mennään siihen merkkiin, johon edellinen kasvava jono päättyi
     ja jatketaan kohdasta 1.


  Syyllinen: Mikko Puhalainen, 18.3.1999

  Esim jos
    0123456789
    abcdabcdea
  kohdasta 0 kysytään nousevan pituutta saadaan 4.  Jos kohdasta 1 kysytään
  nousevan pituutta, saadaan 3, kohdasta 2=>2, 3=1.
  Vasta kohdasta 4 alkaen voi tulos jälleen parantua.
  Eli siksi loikan pituus kannattaa olla nousevan pituus

  Vielä vähän voisi optimoida lopettamalla haku jo ennen jonon päättymistä,
  jos nykyistä ennätystä ei voi parantaa.

  Huomautti Vesa Lappalainen 19.3.1998
 

Version:
1.0, 09.03.2003
Author:
Vesa Lappalainen

Constructor Summary
Pnouseva()
           
 
Method Summary
static void main(java.lang.String[] args)
          Testataan pisinNouseva-aliohjelmaa
static int nouseva(java.lang.String jono, int alku)
          Etsitään kuinka monta peräkkäistä "nousevaa" merkkiä on alkaen paikasta alku.
static int pisinNouseva(java.lang.String jono)
          Etsitään pisimmän nousevan osajonon pituus merkkijonosta
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

Pnouseva

public Pnouseva()
Method Detail

nouseva

public static int nouseva(java.lang.String jono,
                          int alku)
Etsitään kuinka monta peräkkäistä "nousevaa" merkkiä on alkaen paikasta alku.

Parameters:
jono - merkkijonojota tutkitaan
alku - paikka josta aloitetaan
Returns:
peräkkäisten nousevien merkkien määrä
Example:
 nouseva("",0)    === 1;
 nouseva("a",0)   === 1;
 nouseva("aa",0)  === 2;
 nouseva("aab",0) === 3;
 nouseva("bab",0) === 1; // NOPMD
 nouseva("bab",1) === 2;
 nouseva("bab",2) === 1;
 nouseva("bab",3) === 1;
 

pisinNouseva

public static int pisinNouseva(java.lang.String jono)
Etsitään pisimmän nousevan osajonon pituus merkkijonosta

Parameters:
jono - tutkittava merkkijono
Returns:
pisimmän nousevan osajonon pituus
Example:
 pisinNouseva("abajiuxc") === 3;
 pisinNouseva("kissa")    === 3;  
 pisinNouseva("abcdefg")  === 7;
 pisinNouseva("dcba")     === 1;
 pisinNouseva("ab")       === 2;
 pisinNouseva("a")        === 1;
 pisinNouseva("")         === 0;
 

main

public static void main(java.lang.String[] args)
Testataan pisinNouseva-aliohjelmaa

Parameters:
args - ei käytössä


Poista

demo
Class Poista

java.lang.Object
  extended by demo.Poista

public class Poista
extends java.lang.Object

Testiohjelma jonosta poistolle

Version:
1.0, 26.01.2002, 1.1, 27.01.2007
Author:
Vesa Lappalainen

Constructor Summary
Poista()
           
 
Method Summary
static void main(java.lang.String[] args)
          Testataan poista-aliohjelmaa
static java.lang.String poista(java.lang.String jono, java.lang.String poistettava)
          Poistaa merkkijonosta jono kaikki jonon mita esiintymät.
private static int poistatesti(java.lang.String jono, java.lang.String mita, java.lang.String odotettuTulos)
          Testi poista-aliohjelmalle
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

Poista

public Poista()
Method Detail

poista

public static java.lang.String poista(java.lang.String jono,
                                      java.lang.String poistettava)
Poistaa merkkijonosta jono kaikki jonon mita esiintymät.
  jono   oistettava       tulos
 Catcat      at      =>    Cc
 Paatti      at      =>    Pi
 Puatit      at      =>    Puit
 

Parameters:
jono - merkkijono josta poistetaan
poistettava - jono, jonka esiintymää ei saa olla tuloksessa
Returns:
jono jossa ei ole yhtään poistettava-jonon esiintymää
Since:
1.4
Example:
   poista("Catcat"   ,"at")  ===  "Cc";
   poista("Paatti"   ,"at")  ===  "Pi";
   poista("Puatit"   ,"at")  ===  "Puit";
   poista("Abba"     ,"bb")  ===  "Aa";               // NOPMD
   poista("Abbababba","ba")  ===  "Abb";
   poista("AbbabaaB" ,"ba")  ===  "AB";
   poista("Abba"     ,"Ab")  ===  "ba";               // NOPMD
   poista("Abba"     ,""  )  ===  "Abba";
   poista(""         ,"Aa")  ===  "";
   poista(""         ,""  )  ===  "";
   poista(null       ,""  )  ===  "";  
   poista(null       ,"k"  ) ===  "";  // # THROWS NullPointerException
   poista("Kissa"    ,null)  ===  "Kissa";

 

poistatesti

private static int poistatesti(java.lang.String jono,
                               java.lang.String mita,
                               java.lang.String odotettuTulos)
Testi poista-aliohjelmalle

Parameters:
jono - josta poistetaan
mita - mitä jonoa poistetaan
odotettuTulos - jono joka pitäisi olla poiston jälkeen
Returns:
0 jos ok, 1 muuten

main

public static void main(java.lang.String[] args)
Testataan poista-aliohjelmaa

Parameters:
args - ei käytössä


PoistaLopusta

demo
Class PoistaLopusta

java.lang.Object
  extended by demo.PoistaLopusta

public class PoistaLopusta
extends java.lang.Object

Ohjelmalla testataan jonon lopusta merkkien poistamista

Version:
1.0, 21.02.2003
Author:
Vesa Lappalainen

Constructor Summary
PoistaLopusta()
           
 
Method Summary
static java.lang.StringBuffer poistaLopusta(java.lang.StringBuffer jono, int lkm)
          Poistetaan jonon lopusta lkm merkkiä.
static java.lang.String poistaLopusta(java.lang.String jono, int lkm)
          Poistetaan jonon lopusta lkm merkkiä.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

PoistaLopusta

public PoistaLopusta()
Method Detail

poistaLopusta

public static java.lang.String poistaLopusta(java.lang.String jono,
                                             int lkm)
Poistetaan jonon lopusta lkm merkkiä. Mahdollisest virhetilanteet otetaan huomioon.

Parameters:
jono - jono josta poistetaan
lkm - poistettavien lukumäärä, jos <= 0 ei mitään
Returns:
uusi jono, josta lopusta poistettu lkm merkkiä
Example:
   String jono = "Kissa istuu";                    // NOPMD
   poistaLopusta(jono,3)  === "Kissa is";
   poistaLopusta(jono,5)  === "Kissa ";
   poistaLopusta(jono,5)  === "Kissa ";
   poistaLopusta(jono,9)  === "Ki";
   poistaLopusta(jono,11) === "";
   poistaLopusta(jono,12) === "";
   poistaLopusta(jono,99) === "";
   poistaLopusta(jono,0)  === jono;
   poistaLopusta(jono,-9) === jono;
   poistaLopusta(jono,0)  == jono  === true;
   poistaLopusta("",9) === "";
 

poistaLopusta

public static java.lang.StringBuffer poistaLopusta(java.lang.StringBuffer jono,
                                                   int lkm)
Poistetaan jonon lopusta lkm merkkiä. Mahdollisest virhetilanteet otetaan huomioon. Poistaminen tapahtuu jonosta itsestään

Parameters:
jono - jono josta poistetaan
lkm - poistettavien lukumäärä, jos <= 0 ei mitään
Returns:
viite jonoon itseensä, jonon lopusta poistettu lkm merkkiä
Example:
  StringBuffer jono = new StringBuffer("Kissa istuu");
  poistaLopusta(jono,$lkm).toString() === $tulos;
   
    $lkm  |  $tulos
  ------------------------
    -9    | "Kissa istuu"
     0    | "Kissa istuu"
     2    | "Kissa ist"
     4    | "Kissa"
     4    | "K"
     1    | ""
     1    | ""
  
  jono = new StringBuffer("Kissa istuu");
  poistaLopusta(jono,20).toString() === "";
 


PoistaTaulukosta

demo
Class PoistaTaulukosta

java.lang.Object
  extended by demo.PoistaTaulukosta

public class PoistaTaulukosta
extends java.lang.Object

Aliohjelma joka "poistaa" taulukosta tietyt luvut

Version:
1.0, 09.03.2003
Author:
Vesa Lappalainen

Constructor Summary
PoistaTaulukosta()
           
 
Method Summary
static void main(java.lang.String[] args)
          Testataan taulukosta poistamista.
static int poista(int[] taulukko, int lkm, int n)
          "Poistetaan" taulukosta kaikki tietyn luvun esiintymät.
static void tulosta(int[] t, int lkm)
          Tulostetaan taulukosta lkm kappaletta lukuja
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

PoistaTaulukosta

public PoistaTaulukosta()
Method Detail

poista

public static int poista(int[] taulukko,
                         int lkm,
                         int n)
"Poistetaan" taulukosta kaikki tietyn luvun esiintymät. Taulukon oikea pituus ei muutu, mutta palautetaan se pituus, joka jää taulukkoon jäljelle.

Parameters:
taulukko - käsiteltävä taulukko
lkm - taulukun käytettävä pituus
n - poistettava luku
Returns:
jäljelle jääneiden alkioiden lukumäärä
Example:
  int t[]={4,7,6,3,6,2};
  int i;
  poista(t,$lkm,$alkio) === $uusilkm; 
  i=0;
  for (int luku:new int[]$tulos) { // NOPMD
    luku === t[i++];
  }
  
  $lkm  | $alkio | $uusilkm | $tulos
  -------------------------------------------
   6    |   8    |   6      | {4,7,6,3,6,2}
   6    |   6    |   4      | {4,7,3,2}
   4    |   4    |   3      | {7,3,2}
   3    |   2    |   2      | {7,3}
   2    |   7    |   1      | {3}
   1    |   3    |   0      | {}
   0    |   3    |   0      | {}
 

tulosta

public static void tulosta(int[] t,
                           int lkm)
Tulostetaan taulukosta lkm kappaletta lukuja

Parameters:
t - käsiteltävä taulukko
lkm - käsitelteltävien alkioiden lkm

main

public static void main(java.lang.String[] args)
Testataan taulukosta poistamista.

Parameters:
args - ei käytössä


PoistaTest

demo
Class PoistaTest

java.lang.Object
  extended by demo.PoistaTest

public class PoistaTest
extends java.lang.Object

Testataan Poista-luokan metodeja

  1) Ollaan aluksi testattavan luokan kohdalla
  2) File/New/JUnit Test Case
  3) Ruksitaan tarvittaessa setUp() (alustus ennen testejä)
     ja tearDown() (testien jälkeen tehtävät operaatiot)
     Näihin ovi kuulua esim. olioiden luomista ja vapauttamista.
     Tarkista että on JUnit 4
  4) Next
  5) Ruksitaan metodit jotka halutaan testata.
     Jos joku jää ruksaamatta, niin ei hätää, testejä on
     helppo lisätä käsinkin
  6) Finnish
  7) Täydennetään testitapaukset
  8) Aja hiiren oikealla ja Run As/JUnit Test
 

Author:
vesal

Constructor Summary
PoistaTest()
           
 
Method Summary
 void testPoista()
          
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

PoistaTest

public PoistaTest()
Method Detail

testPoista

Testaan poistamista



Pvm

demo
Class Pvm

java.lang.Object
  extended by demo.Pvm

public class Pvm
extends java.lang.Object

Alustava luokka päivämäärää varten

Version:
1.0, 07.02.2003, 1.1, 09.02.2008
Author:
Vesa Lappalainen

Field Summary
private  int kk
           
private  int pv
           
private  int vv
           
 
Constructor Summary
Pvm()
          Alustetaan kaikki attribuutit oletusarvoon
Pvm(int pv)
          Alustetaan kuukausi ja vuosi oletusarvoon
Pvm(int pv, int kk)
          Alustetaan vuosi oletusarvoon
Pvm(int pv, int kk, int vv)
          Alustetaan vuosi oletusarvoon
 
Method Summary
 void alusta(int pv, int kk, int vv)
          Alustetaan päivämäärä. 0-arvot eivät muuta vastaavaa attribuuttia TODO: oikeellisuustarkitukset
static void main(java.lang.String[] args)
          Testataan päivämääräluokkaa
 void paivays()
          Palauttaa tämänhetkisen päiväyksen.
 void parse(java.lang.String s)
          Alsutetaan päivän arvon merkkijonosta
 java.lang.String toString()
          Palautetaan päiväys merkkijonona
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

pv

private transient int pv

kk

private transient int kk

vv

private transient int vv
Constructor Detail

Pvm

public Pvm()
Alustetaan kaikki attribuutit oletusarvoon


Pvm

public Pvm(int pv)
Alustetaan kuukausi ja vuosi oletusarvoon

Parameters:
pv - päivän alustusarvo

Pvm

public Pvm(int pv,
           int kk)
Alustetaan vuosi oletusarvoon

Parameters:
pv - päivän alustusarvo
kk - kuukauden oletusarvo

Pvm

public Pvm(int pv,
           int kk,
           int vv)
Alustetaan vuosi oletusarvoon

Parameters:
pv - päivän alustusarvo
kk - kuukauden oletusarvo
vv - vuoden alustusarvo
Method Detail

paivays

public void paivays()
Palauttaa tämänhetkisen päiväyksen. TODO: muutettava toimimaan oikein.


alusta

public void alusta(int pv,
                   int kk,
                   int vv)
Alustetaan päivämäärä. 0-arvot eivät muuta vastaavaa attribuuttia TODO: oikeellisuustarkitukset

Parameters:
pv - päivän alustus
kk - kuukauden alustus
vv - vuoden alustus

toString

public java.lang.String toString()
Palautetaan päiväys merkkijonona

Overrides:
toString in class java.lang.Object
Returns:
päiväys merkkijonoja
Example:
 Pvm pvm = new Pvm(10,2,2008);
 pvm.toString() === "10.2.2008";
 

parse

public void parse(java.lang.String s)
Alsutetaan päivän arvon merkkijonosta

Parameters:
s -
Example:
 Pvm pvm = new Pvm();
 pvm.parse("11.05.97");
 pvm.toString() === "11.5.1997";
 pvm.parse("17.3");
 pvm.toString() === "17.3.2008";
 pvm.parse("17");
 pvm.toString() === "17.2.2008";
 

main

public static void main(java.lang.String[] args)
Testataan päivämääräluokkaa

Parameters:
args - ei käytössä


Pvm2

demo
Class Pvm2

java.lang.Object
  extended by demo.Pvm2
All Implemented Interfaces:
java.lang.Comparable<java.lang.Object>
Direct Known Subclasses:
Pvm3

public class Pvm2
extends java.lang.Object
implements java.lang.Comparable<java.lang.Object>

Alustava luokka päivämäärää varten

Version:
1.0, 07.02.2003, 1.1, 14.02.2003, 1.2, 17.02.2003, 1.3, 11.02.2008
Author:
Vesa Lappalainen

Field Summary
protected  int kk
          Kuukauden arvo
protected  int pv
          Päivän arvo
protected  int vv
          Vuoden arvo
 
Constructor Summary
Pvm2()
          Alustetaan kaikki attribuutit oletusarvoon
Pvm2(int pv)
          Alustetaan kuukausi ja vuosi oletusarvoon
Pvm2(int pv, int kk)
          Alustetaan vuosi oletusarvoon
Pvm2(int pv, int kk, int vv)
          Alustetaan vuosi oletusarvoon
Pvm2(java.lang.String s)
          Alustetaan päivämäärä merkkijonosta
 
Method Summary
 void alusta(int pv, int kk, int vv)
          Alustetaan päivämäärä. 0-arvot eivät muuta vastaavaa attribuuttia TODO: oikeellisuustarkitukset
 int compareTo(java.lang.Object obj)
          Verrataan päivämäärää olioon obj.
 int compareTo(Pvm2 pvm2)
          Verrataan miten kaksi päivämäärää suhtautuu toisiinsa.
static int compareTo(Pvm2 pvm1, Pvm2 pvm2)
          Verrataan miten kaksi päivämäärää suhtautuu toisiinsa.
 boolean equals(java.lang.Object obj)
          Vertaa onko päivämäärä sama kuin toinen objekti.
 int getKk()
           
 int getPv()
           
 int getVv()
           
static void main(java.lang.String[] args)
          Testataan päivämäärä-luokkaa
 void paivays()
          Muuttaa päivämäärän nykypäivälle.
 void parse(java.lang.String s)
          Ottaa päivämäärän tiedot merkkijonosta joka on muotoa 17.2.2007 Jos joku osa puuttuu, sille käytetään tämän päivän arvoa oletuksena.
 void parse(java.lang.StringBuffer sb)
          Ottaa päivämäärän tiedot merkkijonosta joka on muotoa 17.2.2007 Jos joku osa puuttuu, sille käytetään tämän päivän arvoa oletuksena.
protected  void pvmParse(java.lang.String s)
          Ottaa päivämäärän tiedot merkkijonosta joka on muotoa 17.2.2007 Jos joku osa puuttuu, sille käytetään tämän päivän arvoa oletuksena.
protected  void pvmParse(java.lang.StringBuffer sb)
          Ottaa päivämäärän tiedot merkkijonosta joka on muotoa 17.2.2007 Jos joku osa puuttuu, sille käytetään tämän päivän arvoa oletuksena.
 java.lang.String toString()
          Päivämäärä merkkijonona
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

pv

protected int pv
Päivän arvo


kk

protected int kk
Kuukauden arvo


vv

protected int vv
Vuoden arvo

Constructor Detail

Pvm2

public Pvm2()
Alustetaan kaikki attribuutit oletusarvoon


Pvm2

public Pvm2(int pv)
Alustetaan kuukausi ja vuosi oletusarvoon

Parameters:
pv - päivän alustusarvo

Pvm2

public Pvm2(int pv,
            int kk)
Alustetaan vuosi oletusarvoon

Parameters:
pv - päivän alustusarvo
kk - kuukauden oletusarvo

Pvm2

public Pvm2(int pv,
            int kk,
            int vv)
Alustetaan vuosi oletusarvoon

Parameters:
pv - päivän alustusarvo
kk - kuukauden oletusarvo
vv - vuoden alustusarvo

Pvm2

public Pvm2(java.lang.String s)
Alustetaan päivämäärä merkkijonosta

Parameters:
s - muotoa 12.3.2008 oleva merkkijono
Method Detail

paivays

public void paivays()
Muuttaa päivämäärän nykypäivälle. Todo: pitää vaihtaa hakemaan päivämäärä oikeasti. Mutta perinnässäkään ei nyt saa käyttää enempää attribuutteja kuin tässä on


alusta

public void alusta(int pv,
                   int kk,
                   int vv)
Alustetaan päivämäärä. 0-arvot eivät muuta vastaavaa attribuuttia TODO: oikeellisuustarkitukset

Parameters:
pv - päivän alustus
kk - kuukauden alustus
vv - vuoden alustus

toString

public java.lang.String toString()
Päivämäärä merkkijonona

Overrides:
toString in class java.lang.Object
Returns:
päivämäärä muodossa 17.2.2007
Example:
   tammi2008.toString() === "1.1.2008"
   helmi2008.toString() === "1.2.2008"
   tanaan.toString()    === "17.2.2008"
   maalis97.toString()  === "1.3.1997"
   p23_2.toString()     === s23_2
 

pvmParse

protected final void pvmParse(java.lang.StringBuffer sb)
Ottaa päivämäärän tiedot merkkijonosta joka on muotoa 17.2.2007 Jos joku osa puuttuu, sille käytetään tämän päivän arvoa oletuksena.

Parameters:
sb - tutkittava merkkijono

pvmParse

protected final void pvmParse(java.lang.String s)
Ottaa päivämäärän tiedot merkkijonosta joka on muotoa 17.2.2007 Jos joku osa puuttuu, sille käytetään tämän päivän arvoa oletuksena.

Parameters:
s - tutkittava merkkijono

parse

public void parse(java.lang.String s)
Ottaa päivämäärän tiedot merkkijonosta joka on muotoa 17.2.2007 Jos joku osa puuttuu, sille käytetään tämän päivän arvoa oletuksena.

Parameters:
s - tutkittava merkkijono
Example:
 Pvm2 pvm = new Pvm2(11,3,2003);
 pvm.parse("12"); pvm.toString() === "12.2.2008";
 pvm.parse("..2001"); pvm.toString() === "17.2.2001";
 pvm.parse("..2009 14:30"); pvm.toString() === "17.2.2009"; 
 

parse

public void parse(java.lang.StringBuffer sb)
Ottaa päivämäärän tiedot merkkijonosta joka on muotoa 17.2.2007 Jos joku osa puuttuu, sille käytetään tämän päivän arvoa oletuksena. Merkkijonosta otetaan pois vain se osa, jota tarvitaan.

Parameters:
sb - tutkittava merkkijono
Example:
 Pvm2 pvm = new Pvm2(11,3,2003);
 StringBuffer jono = new StringBuffer("12");
 pvm.parse(jono); pvm.toString() === "12.2.2008"; jono.toString() === "";
 jono = new StringBuffer("..2001");
 pvm.parse(jono); pvm.toString() === "17.2.2001"; jono.toString() === "";
 jono = new StringBuffer("..2009 14:30");
 pvm.parse(jono); pvm.toString() === "17.2.2009"; jono.toString() === "14:30";
 

getPv

public int getPv()
Returns:
päivän arvo

getKk

public int getKk()
Returns:
kuukauden arvo

getVv

public int getVv()
Returns:
vuoden arvo

compareTo

public int compareTo(java.lang.Object obj)
Verrataan päivämäärää olioon obj. Jos o ei ole päivämäärä tai merkkijono heiteään poikkeus.

Specified by:
compareTo in interface java.lang.Comparable<java.lang.Object>
Parameters:
obj - olio johon verrataan, jonka toivotaan olevan Pv,2 tyyppiä.
Returns:
-1 jos < 0 jos == ja 1 jos > kuin verrattava obj.
Throws:
java.lang.ClassCastException - jos luokka väärää tyyppiä
Example:
   Pvm2 pvm = new Pvm2(12,3,2009);
   pvm.compareTo(new Double(2)) === 0; #THROWS ClassCastException
   pvm.compareTo("12.3.2009") === 0; 
   pvm.compareTo(new StringBuffer("12.3.2009")) === 0;
   pvm.compareTo(tanaan) === 1; 
 

compareTo

public int compareTo(Pvm2 pvm2)
Verrataan miten kaksi päivämäärää suhtautuu toisiinsa.

Parameters:
pvm2 - toinen verrattava
Returns:
-1 jos < pvm2, 0 jos yhtäsuuret ja 1 jos > pvm2
Example:
  maalis97.compareTo(tammi2008) === -1;  // ero vuodessa
  tammi2008.compareTo(maalis97) === 1;
  tammi2008.compareTo(tanaan)   === -1;    // ero kuukaudessa
  tanaan.compareTo(tammi2008)   === 1;
  helmi2008.compareTo(tanaan)   === -1;    // ero päivässä
  tanaan.compareTo(helmi2008)   === 1;
  tanaan.compareTo(tanaan)      === 0;
 

compareTo

public static int compareTo(Pvm2 pvm1,
                            Pvm2 pvm2)
Verrataan miten kaksi päivämäärää suhtautuu toisiinsa.

Parameters:
pvm1 - ensimmäinen verratava
pvm2 - toinen verrattava
Returns:
-1 jos pvm1 < pvm2, 0 jos yhtäsuuret ja 1 jos pvm1 > pvm2
Example:
 #STATICIMPORT
  compareTo(maalis97,tammi2008) === -1;  // ero vuodessa
  compareTo(tammi2008,maalis97) === 1;
  compareTo(tammi2008,tanaan)   === -1;    // ero kuukaudessa
  compareTo(tanaan,tammi2008)   === 1;
  compareTo(helmi2008,tanaan)   === -1;    // ero päivässä
  compareTo(tanaan,helmi2008)   === 1;
  compareTo(tanaan,tanaan)      === 0;
 

equals

public boolean equals(java.lang.Object obj)
Vertaa onko päivämäärä sama kuin toinen objekti. Osaa verrata String ja StringBuffer-luokkiinkin

Overrides:
equals in class java.lang.Object
Parameters:
obj - verrattava objekti
Returns:
true jos sisällöltään samat, muuten false
Example:
 maalis97.equals(tammi2008)          === false;
 tammi2008.equals(maalis97)          === false;
 tanaan.equals(tanaan)               === true;
 p23_2.equals(new Pvm2("23.2.2008")) === true;
 p23_2.equals(p22_2)                 === false;
 p23_2.equals(s23_2)                 === true;
 p23_2.equals(s22_2)                 === false;
 s23_2.equals(p23_2)                 === false; // String ei osaa verrata pvm:ään
 s23_2.equals(p22_2)                 === false; // String ei osaa verrata pvm:ään
 s23_2.equals(p23_2.toString())      === true;  // mutta osaa merkkijonoon
 tanaan.equals(new Double(2))        === false; // pvm ei osaa verrata muihin tyyppeihin
 p23_2.equals(new StringBuffer("23.2.2008")) === true;
 p23_2.equals(new StringBuffer("22.2.2008")) === false;
 

main

public static void main(java.lang.String[] args)
Testataan päivämäärä-luokkaa

Parameters:
args - ei käytössä


Pvm3

demo
Class Pvm3

java.lang.Object
  extended by demo.Pvm2
      extended by demo.Pvm3
All Implemented Interfaces:
java.lang.Comparable<java.lang.Object>

public class Pvm3
extends Pvm2

Päiväys koneesta.

Version:
1.0, 07.02.2003, 1.1, 14.02.2003, 1.2, 01.03.2003, 1.3, 11.02.2008
Author:
Vesa Lappalainen

Field Summary
 
Fields inherited from class demo.Pvm2
kk, pv, vv
 
Constructor Summary
Pvm3()
          Alustetaan kaikki attribuutit oletusarvoon
Pvm3(int pv)
          Alustetaan kuukausi ja vuosi oletusarvoon
Pvm3(int pv, int kk)
          Alustetaan vuosi oletusarvoon
Pvm3(int pv, int kk, int vv)
          Alustetaan vuosi oletusarvoon
Pvm3(java.lang.String s)
          Alustetaan päivämäärä merkkijonosta
 
Method Summary
static void main(java.lang.String[] args)
          Testataan Pvm3-luokkaa
 void paivays()
          Otetaan päiväys koneen kalenterista
 
Methods inherited from class demo.Pvm2
alusta, compareTo, compareTo, compareTo, equals, getKk, getPv, getVv, parse, parse, pvmParse, pvmParse, toString
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

Pvm3

public Pvm3()
Alustetaan kaikki attribuutit oletusarvoon


Pvm3

public Pvm3(int pv)
Alustetaan kuukausi ja vuosi oletusarvoon

Parameters:
pv - päivän alustusarvo

Pvm3

public Pvm3(int pv,
            int kk)
Alustetaan vuosi oletusarvoon

Parameters:
pv - päivän alustusarvo
kk - kuukauden oletusarvo

Pvm3

public Pvm3(int pv,
            int kk,
            int vv)
Alustetaan vuosi oletusarvoon

Parameters:
pv - päivän alustusarvo
kk - kuukauden oletusarvo
vv - vuoden alustusarvo

Pvm3

public Pvm3(java.lang.String s)
Alustetaan päivämäärä merkkijonosta

Parameters:
s - muotoa 12.3.2008 oleva merkkijono
Example:
   Calendar nyt = Calendar.getInstance();
   int pv = nyt.get(Calendar.DATE);
   int kk = nyt.get(Calendar.MONTH) - Calendar.JANUARY + 1;
   int vv = nyt.get(Calendar.YEAR);
   Pvm3 pvm;
   
   pvm = new Pvm3($alustus); pvm.toString() === $toString;
   
   | $alustus  |   $toString
 -----------------------------------------------
   | 1, 1      |  "1.1."+vv
   | 1         |  1+"."+kk+"."+vv 
   |           |  pv+"."+kk+"."+vv
   | 1, 3, 97  |  "1.3.1997"
   | "1.5"     |  "1.5."+vv
   | "1..1990" |  "1."+kk+".1990"
   | "..1990"  |  pv+"."+kk+".1990"
 
Method Detail

paivays

public void paivays()
Otetaan päiväys koneen kalenterista

Overrides:
paivays in class Pvm2

main

public static void main(java.lang.String[] args)
Testataan Pvm3-luokkaa

Parameters:
args -


Rajat

demo
Class Rajat

java.lang.Object
  extended by demo.Rajat

public class Rajat
extends java.lang.Object

Aliohjelmia taulukon raja-arvojen etsimiseen

Version:
1.0, 21.02.2003
Author:
Vesa Lappalainen

Constructor Summary
Rajat()
           
 
Method Summary
static double huonoin(double[] luvut)
          Etsitään "huonoin" eli pienin taulukosta
static double paras(double[] luvut)
          Etsitään "paras" eli suurin taulukosta
static double summa(double[] luvut)
          Lasketaan taulukon alkioiden summa
static double summaHuonoinJaParasPois(double[] luvut)
          Lasketaan taulukon lukujen summa ilman parasta ja huonointa
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

Rajat

public Rajat()
Method Detail

paras

public static double paras(double[] luvut)
Etsitään "paras" eli suurin taulukosta

Parameters:
luvut - taulukko josta etsitään
Returns:
taulukon suurin luku tai 0 jos lukuja ei ole
Example:
   paras(null) ~~~ 0;
   paras(new double[]$luvut) ~~~ $paras;
   
      $luvut      |   $paras
    -------------------------------
       {}         |    0
       {11}       |    11
       {11,22}    |    22
       {22,11}    |    22
       {11,22,33} |    33  
       {22,11,33} |    33  
       {22,33,11} |    33  
       {33,22,11} |    33  
       {1,2,4,3}  |    4  
       {1,4,2,3}  |    4  
 

huonoin

public static double huonoin(double[] luvut)
Etsitään "huonoin" eli pienin taulukosta

Parameters:
luvut - taulukko josta etsitään
Returns:
taulukon pienin luku tai 0 jos lukuja ei ole
Example:
   huonoin(null) ~~~ 0;
   huonoin(new double[]$luvut) ~~~ $paras;
   
      $luvut      |   $paras
    -------------------------------
       {}         |    0
       {11}       |    11
       {11,22}    |    11
       {22,11}    |    11
       {11,22,33} |    11  
       {22,11,33} |    11  
       {22,33,11} |    11  
       {33,22,11} |    11  
       {1,2,4,3}  |    1  
       {3,4,2,1}  |    1  
       {3,4,1,2}  |    1  
       {3,1,4,2}  |    1  
 

summa

public static double summa(double[] luvut)
Lasketaan taulukon alkioiden summa

Parameters:
luvut - taulukko jonka summaa lasketaan
Returns:
lukujen summa
Example:
   summa(null) ~~~ 0;
   summa(new double[]$luvut) ~~~ $paras;
   
      $luvut      |   $paras
    -------------------------------
       {}         |    0
       {11}       |    11
       {11,22}    |    33
       {22,11}    |    33
       {11,22,33} |    66  
       {22,11,33} |    66  
       {1,2,4,3}  |    10  
       {1,4,2,3}  |    10  
 

summaHuonoinJaParasPois

public static double summaHuonoinJaParasPois(double[] luvut)
Lasketaan taulukon lukujen summa ilman parasta ja huonointa

Parameters:
luvut - taulukko jonka summaa lasketaan
Returns:
summa huonoin ja paras poistettuna
Example:
   double luvut[] = { 19,18,17,19,20 };
   summaHuonoinJaParasPois(luvut) ~~~ 56;
   summaHuonoinJaParasPois(null) ~~~ 0;
   
   summaHuonoinJaParasPois(new double[]$luvut) ~~~ $paras;
   
      $luvut      |   $paras
    -------------------------------
       {}         |    0
       {11}       |    0
       {11,22}    |    0
       {22,11}    |    0
       {11,22,33} |    22  
       {22,11,33} |    22  
       {1,2,4,3}  |    5  
       {1,4,2,3}  |    5  
 


StringFind

demo
Class StringFind

java.lang.Object
  extended by demo.StringFind

public class StringFind
extends java.lang.Object

Ohjelmalla tutkitaan String-luokan metodeja

Version:
1.0, 20.02.2003
Author:
Vesa Lappalainen

Constructor Summary
StringFind()
           
 
Method Summary
static int laskeMerkit(java.lang.String jono, java.lang.String merkit)
          Laskee montako merkit-jonon mekrkiä on jonossa
static void main(java.lang.String[] args)
          Testataan merkkijojen sisältymisiä
static boolean onkoJoku(java.lang.String jono, java.lang.String joukko)
          Tutkitaan onko jonossa joku joukon merkki
static boolean onkoMuita(java.lang.String jono, java.lang.String joukko)
          Tutkitaan onko jonssa muita merkkejä kuin joukon merkit
static boolean onkoSamat(java.lang.String jono, java.lang.String maski)
          Tutkitaan onko jono sama kuin maski jossa * on jokeri.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

StringFind

public StringFind()
Method Detail

onkoSamat

public static boolean onkoSamat(java.lang.String jono,
                                java.lang.String maski)
Tutkitaan onko jono sama kuin maski jossa * on jokeri. Maski saa sisältää alussa ja lopussa turhia välilyöntejä

Parameters:
jono - tutkittava jono
maski - jono joka sisältää *-merkkejä
Returns:
true jos samat maskin mielessä
Example:
 onkoSamat("Matti Nykänen","    matti* ") === true;
 onkoSamat("Matti","Matti")               === true;           // NOPMD
 onkoSamat("Matti","matti")               === true;           // NOPMD
 onkoSamat("Matti","Katti")               === false;
 

laskeMerkit

public static int laskeMerkit(java.lang.String jono,
                              java.lang.String merkit)
Laskee montako merkit-jonon mekrkiä on jonossa

Parameters:
jono - tutkittava jono
merkit - mitä merkkejä lasketaan
Returns:
löydettyjen mekrkien lukumäärä
Example:
 laskeMerkit("Kissa istuu puussa","a-jr-w") === 14;
 laskeMerkit("xx","a-jr-w")                 === 0;
 laskeMerkit("abcd","bc")                   === 2;
 laskeMerkit("abcd","bcc")                  === 2;
 

onkoMuita

public static boolean onkoMuita(java.lang.String jono,
                                java.lang.String joukko)
Tutkitaan onko jonssa muita merkkejä kuin joukon merkit

Parameters:
jono - tuktittava jono
joukko - tutkittava joukko
Returns:
true jos muita merkkejä kuin joukon merkit
Example:
 onkoMuita("kissa","aik") === true;
 onkoMuita("kiiia","aik") === false;
 onkoMuita("a","a")       === false;
 onkoMuita("a","b")       === true;
 

onkoJoku

public static boolean onkoJoku(java.lang.String jono,
                               java.lang.String joukko)
Tutkitaan onko jonossa joku joukon merkki

Parameters:
jono - tutkitava jono
joukko - jonka merkkejä etsitään
Returns:
true jos jokin joukon merkeistä löytyy
Example:
 onkoJoku("kissa","ibm") === true;
 onkoJoku("kissa","pc")  === false;
 onkoJoku("a","a")       === true;
 onkoJoku("a","b")       === false;
 

main

public static void main(java.lang.String[] args)
Testataan merkkijojen sisältymisiä

Parameters:
args - ei käytössä


Taulukko

demo
Class Taulukko

java.lang.Object
  extended by demo.Taulukko
All Implemented Interfaces:
java.lang.Cloneable

public class Taulukko
extends java.lang.Object
implements java.lang.Cloneable

Esimerkki dynaamisesta taulukosta

Version:
1.0, 02.03.2002, 1.1, 09.03.2002
Author:
Vesa Lappalainen

Nested Class Summary
static class Taulukko.TaulukkoTaysiException
          Poikkeusluokka täydelle taulukolle
 
Field Summary
private  int[] alkiot
           
private  int lkm
           
 
Constructor Summary
Taulukko()
          Alustetaan taulukko max 10 kokoiseksi
Taulukko(int koko)
          Alustetaan taulukko halutun kokoiseksi
 
Method Summary
 Taulukko clone()
          Luodaan taulukosta identtinen kopio
 boolean equals(java.lang.Object o)
          Verrataan kahta taulukkoa toisiinsa
 int get(int i)
          Palautetaan taulukon paikassa i oleva arvo
 int getLkm()
           
 int hashCode()
           
 void lisaa(int i)
          Lisätään taulukkoon uusi alkio
static void main(java.lang.String[] args)
          Testataan Taulukko-luokkaa
 int poista(int n)
          Poistetaan taulukosta kaikki luvun n esiintymät
 void set(int i, int luku)
          Asetetaan taulukon i:n alkiolle uusi arvo
 java.lang.String toString()
           
 
Methods inherited from class java.lang.Object
finalize, getClass, notify, notifyAll, wait, wait, wait
 

Field Detail

alkiot

private int[] alkiot

lkm

private int lkm
Constructor Detail

Taulukko

public Taulukko()
Alustetaan taulukko max 10 kokoiseksi


Taulukko

public Taulukko(int koko)
Alustetaan taulukko halutun kokoiseksi

Parameters:
koko - taulukon alkioiden maksimimäärä
Method Detail

lisaa

public void lisaa(int i)
           throws Taulukko.TaulukkoTaysiException
Lisätään taulukkoon uusi alkio

Parameters:
i - lisättävä alkio
Throws:
Taulukko.TaulukkoTaysiException - jos taulukko on jo täynnä
Example:
 #THROWS Taulukko.TaulukkoTaysiException
   Taulukko t = new Taulukko(3);
                  t.toString() === "";
   t.lisaa(0);    t.toString() === " 0";
   t.lisaa(2);    t.toString() === " 0 2";
   t.lisaa(99);   t.toString() === " 0 2 99";
   t.lisaa(99);   t.toString() === " 0 2 99"; #THROWS Taulukko.TaulukkoTaysiException
 

toString

public java.lang.String toString()
Overrides:
toString in class java.lang.Object
Returns:
Taulukko merkkijonoja " 0 2 99"

getLkm

public int getLkm()
Returns:
taulukon alkioiden lukumäärä

set

public void set(int i,
                int luku)
         throws java.lang.IndexOutOfBoundsException
Asetetaan taulukon i:n alkiolle uusi arvo

Parameters:
i - mihin indeksii asetetaan
luku - uusi arvo
Throws:
java.lang.IndexOutOfBoundsException - jos indeksi laitoin
 #THROWS Taulukko.TaulukkoTaysiException
   Taulukko t = new Taulukko(3);
   t.lisaa(0);  t.lisaa(2);  t.lisaa(99); 
   t.get(1) === 2;
   t.set(1,4);
   t.get(1) === 4;
   t.set(22,1);       #THROWS IndexOutOfBoundsException
   t.get(22) === 4;   #THROWS IndexOutOfBoundsException
 

get

public int get(int i)
        throws java.lang.IndexOutOfBoundsException
Palautetaan taulukon paikassa i oleva arvo

Parameters:
i - indeksi josta arvoa haetaan
Returns:
paikassa i oleva arvo
Throws:
java.lang.IndexOutOfBoundsException - jos indeksi laitoin

clone

public Taulukko clone()
               throws java.lang.CloneNotSupportedException
Luodaan taulukosta identtinen kopio

Overrides:
clone in class java.lang.Object
Returns:
taulukon kopio
Throws:
java.lang.CloneNotSupportedException
Example:
 #THROWS Taulukko.TaulukkoTaysiException,CloneNotSupportedException 
   Taulukko t = new Taulukko();
   for (int luku:new int[]{4,7,6,3,6,2}) t.lisaa(luku); // NOPMD
   
   Taulukko t2 = t.clone();
   t2.toString() === " 4 7 6 3 6 2"; // NOPMD
   t.lisaa(99);
   t2.toString() === " 4 7 6 3 6 2";
   t.poista(6);
   t.toString()  === " 4 7 3 2 99";
   t2.toString() === " 4 7 6 3 6 2";
 

poista

public int poista(int n)
Poistetaan taulukosta kaikki luvun n esiintymät

Parameters:
n - poistettava luku
Returns:
uusi lkm
Example:
 #THROWS Taulukko.TaulukkoTaysiException
   Taulukko t = new Taulukko();
   for (int luku:new int[]{4,7,6,3,6,2}) t.lisaa(luku);  // NOPMD
                 t.toString() === " 4 7 6 3 6 2";
   t.poista(8);  t.toString() === " 4 7 6 3 6 2";
   t.poista(6);  t.toString() === " 4 7 3 2";
   t.poista(4);  t.toString() === " 7 3 2";
   t.poista(2);  t.toString() === " 7 3";
   t.poista(7);  t.toString() === " 3";
   t.poista(3);  t.toString() === "";
   t.poista(3);  t.toString() === "";
 

equals

public boolean equals(java.lang.Object o)
Verrataan kahta taulukkoa toisiinsa

Overrides:
equals in class java.lang.Object
Parameters:
o - verrattava taulukko
Returns:
true jos taulukoissa sama pituus ja samat alkiot
Example:
 #THROWS Taulukko.TaulukkoTaysiException
   Taulukko t = new Taulukko();
   for (int luku:new int[]{4,7,6,3,6,2}) t.lisaa(luku); // NOPMD
   Taulukko t2 = new Taulukko();
   for (int luku:new int[]{4,7,6,3}) t2.lisaa(luku);    // NOPMD
   t.equals("kissa") === false; // NOPMD
   t.equals(t2) === false;
   t2.lisaa(6); t2.lisaa(2);
   t.equals(t2) === true;
 

hashCode

public int hashCode()
Overrides:
hashCode in class java.lang.Object
Returns:
hajautusavain

main

public static void main(java.lang.String[] args)
                 throws java.lang.CloneNotSupportedException
Testataan Taulukko-luokkaa

Parameters:
args - ei käytössä
Throws:
java.lang.CloneNotSupportedException - ei heitä


Taulukko.TaulukkoTaysiException

demo
Class Taulukko.TaulukkoTaysiException

java.lang.Object
  extended by java.lang.Throwable
      extended by java.lang.Exception
          extended by demo.Taulukko.TaulukkoTaysiException
All Implemented Interfaces:
java.io.Serializable
Enclosing class:
Taulukko

public static class Taulukko.TaulukkoTaysiException
extends java.lang.Exception

Poikkeusluokka täydelle taulukolle

See Also:
Serialized Form

Field Summary
private static long serialVersionUID
           
 
Constructor Summary
Taulukko.TaulukkoTaysiException(java.lang.String viesti)
           
 
Method Summary
 
Methods inherited from class java.lang.Throwable
fillInStackTrace, getCause, getLocalizedMessage, getMessage, getStackTrace, initCause, printStackTrace, printStackTrace, printStackTrace, setStackTrace, toString
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

serialVersionUID

private static final long serialVersionUID
See Also:
Constant Field Values
Constructor Detail

Taulukko.TaulukkoTaysiException

Taulukko.TaulukkoTaysiException(java.lang.String viesti)


TaulukkoGen

demo
Class TaulukkoGen<TYPE>

java.lang.Object
  extended by demo.TaulukkoGen<TYPE>
Type Parameters:
TYPE - tyyppi jota talletetaan
All Implemented Interfaces:
java.lang.Cloneable

public class TaulukkoGen<TYPE>
extends java.lang.Object
implements java.lang.Cloneable

Esimerkki dynaamisesta taulukosta

Version:
1.0, 02.03.2002, 1.1, 09.03.2002
Author:
Vesa Lappalainen

Field Summary
private  TYPE[] alkiot
           
private  int lkm
           
 
Constructor Summary
TaulukkoGen()
          Alustetaan oletuksen aluksi 10 kokoiseksi
TaulukkoGen(int koko)
          Alustetaan taulukko
 
Method Summary
 java.lang.Object clone()
          Palautetaan taulukon sisällöstä syväkopioinnilla luotu klooni
 boolean equals(java.lang.Object o)
          Verrataan taulukko toiseen taulukkoon
 TYPE get(int i)
          Palautetaan taulukon paikassa i oleva alkio
 void lisaa(TYPE uusi)
          Lisätään uusi alkio taulukkoon.
static void main(java.lang.String[] args)
          Testataan taulukkoa
 int poista(TYPE n)
          Poistetaan taulukosta kaikki alkiot jotka ovat n:n kanssa samanlaisia.
 void set(int i, TYPE uusi)
          Asetetaan taulukon i:n paikkaan uusi alkio
 java.lang.String toString()
          Palautetaan taulukko merkkijonona
 
Methods inherited from class java.lang.Object
finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

alkiot

private TYPE[] alkiot

lkm

private int lkm
Constructor Detail

TaulukkoGen

public TaulukkoGen()
Alustetaan oletuksen aluksi 10 kokoiseksi


TaulukkoGen

public TaulukkoGen(int koko)
Alustetaan taulukko

Parameters:
koko - alkukoko taulukolle
Method Detail

lisaa

public void lisaa(TYPE uusi)
Lisätään uusi alkio taulukkoon. Kasvatetaan kokoa jos tarvitsee.

Parameters:
uusi - lisättävä alkio

toString

public java.lang.String toString()
Palautetaan taulukko merkkijonona

Overrides:
toString in class java.lang.Object
Returns:
taulukko merkkijonona

set

public void set(int i,
                TYPE uusi)
         throws java.lang.IndexOutOfBoundsException
Asetetaan taulukon i:n paikkaan uusi alkio

Parameters:
i - mihin paikkaa esetetaan
uusi - uusi alkio
Throws:
java.lang.IndexOutOfBoundsException - jos indeksi väärin

get

public TYPE get(int i)
         throws java.lang.IndexOutOfBoundsException
Palautetaan taulukon paikassa i oleva alkio

Parameters:
i - missä paikassa oleva alkio otetaan
Returns:
paikassa i oleva alkio
Throws:
java.lang.IndexOutOfBoundsException - jos indeksi väärin

clone

public java.lang.Object clone()
                       throws java.lang.CloneNotSupportedException
Palautetaan taulukon sisällöstä syväkopioinnilla luotu klooni

Overrides:
clone in class java.lang.Object
Throws:
java.lang.CloneNotSupportedException
Example:
 #THROWS CloneNotSupportedException 
 #import demo.Int;
 #CLASSIMPORT 
  TaulukkoGen luvut = new TaulukkoGen();
  luvut.lisaa(new Int(0)); luvut.lisaa(new Int(2));
  luvut.lisaa(new Int(99));
  ;@SuppressWarnings("unchecked")
  TaulukkoGen taul = (TaulukkoGen)luvut.clone();
  luvut.toString() === " 0 2 99";
  taul.toString()  === " 0 2 99";
  luvut.get(1).set(3);
  luvut.toString() === " 0 3 99";
  taul.toString()  === " 0 2 99";
  luvut.lisaa(new Int(2)); luvut.lisaa(new Int(5)); 
  luvut.lisaa(new Int(2)); luvut.lisaa(new Int(6));
  luvut.toString() === " 0 3 99 2 5 2 6";
  taul.toString()  === " 0 2 99";
  taul.get(3).intValue() === 2; #THROWS IndexOutOfBoundsException
  luvut.poista(new Int(2)); 
  luvut.toString() === " 0 3 99 5 6";
  taul.toString()  === " 0 2 99";
 

poista

public int poista(TYPE n)
Poistetaan taulukosta kaikki alkiot jotka ovat n:n kanssa samanlaisia.

Parameters:
n - poistettava alkio
Returns:
taulukon uusi koko

equals

public boolean equals(java.lang.Object o)
Verrataan taulukko toiseen taulukkoon

Overrides:
equals in class java.lang.Object
Parameters:
o - verrattavan taulukon viite
Returns:
true jos sisällöt samoja

main

public static void main(java.lang.String[] args)
                 throws java.lang.CloneNotSupportedException
Testataan taulukkoa

Parameters:
args - ei käytössä
Throws:
java.lang.CloneNotSupportedException - jos kloonaus ei onnistu


TiedostonLukeminen

demo
Class TiedostonLukeminen

java.lang.Object
  extended by demo.TiedostonLukeminen

public class TiedostonLukeminen
extends java.lang.Object

Luetaan tiedosto ja tulostetaan se näytölle.

Version:
1.0, 25.01.2002
Author:
Vesa Lappalainen

Constructor Summary
TiedostonLukeminen()
           
 
Method Summary
static void main(java.lang.String[] args)
          Esimerkkiohjelma tiedoston lukemisesta
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

TiedostonLukeminen

public TiedostonLukeminen()
Method Detail

main

public static void main(java.lang.String[] args)
                 throws java.io.IOException
Esimerkkiohjelma tiedoston lukemisesta

Parameters:
args -
Throws:
java.io.IOException


Tietokone

demo
Class Tietokone

java.lang.Object
  extended by demo.Tietokone

public class Tietokone
extends java.lang.Object

Luokka tietokoneen ominaisuuksita

Version:
1.0, 07.02.2003
Author:
Vesa Lappalainen

Field Summary
static double GB
          Gigatavujen määrä tavuina
static double KB
          Kilotavujen määrä tavuina
private  int korttipaikkoja
           
private  double kovalevy
           
static double MB
          Megatavujen määrä tavuina
private  java.lang.String merkki
           
private  double muistia
           
static double PB
          Petatavujen määrä tavuina
static java.lang.String[] tavuKertoimet
          Taulukko tavukertoimien nimistä
static double TB
          Teratavujen määrä tavuina
 
Constructor Summary
Tietokone(java.lang.String merkki, double muistia, double kovalevy, int kp)
          Alustetaan tietokone
 
Method Summary
static void main(java.lang.String[] args)
          Testataan Tietokone -luokkaa
static java.lang.String tavut(double b)
          Muutetaan byteinä oleva reaaliluku merkkijonoksi jolla on kerroin.
 java.lang.String toString()
          Muutetaan tietokoneen tiedot merkkijonoksi
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

KB

public static final double KB
Kilotavujen määrä tavuina

See Also:
Constant Field Values

MB

public static final double MB
Megatavujen määrä tavuina

See Also:
Constant Field Values

GB

public static final double GB
Gigatavujen määrä tavuina

See Also:
Constant Field Values

TB

public static final double TB
Teratavujen määrä tavuina

See Also:
Constant Field Values

PB

public static final double PB
Petatavujen määrä tavuina

See Also:
Constant Field Values

tavuKertoimet

public static final java.lang.String[] tavuKertoimet
Taulukko tavukertoimien nimistä


merkki

private final java.lang.String merkki

muistia

private final double muistia

kovalevy

private final double kovalevy

korttipaikkoja

private final int korttipaikkoja
Constructor Detail

Tietokone

public Tietokone(java.lang.String merkki,
                 double muistia,
                 double kovalevy,
                 int kp)
Alustetaan tietokone

Parameters:
merkki -
muistia -
kovalevy -
kp - korpptipaikkojen määrä
Method Detail

tavut

public static java.lang.String tavut(double b)
Muutetaan byteinä oleva reaaliluku merkkijonoksi jolla on kerroin. Yritetään päästä mahdollisimman hyvään kertoimeen.

Parameters:
b - tavujen määrä byteinä
Returns:
merkkijono muotoa 10 GB
Example:
   tavut(4500*KB)      === "4.4 MB";
   tavut(640*KB)       === "640 KB";
   tavut(100*MB*MB)    === "100 TB";
   tavut(100*MB*MB*MB) === "102400 PB";
 

toString

public java.lang.String toString()
Muutetaan tietokoneen tiedot merkkijonoksi

Overrides:
toString in class java.lang.Object
Returns:
tietokone merkkijonona
Example:
 #STATICIMPORT
 #CLASSIMPORT
 Tietokone hal9000 = new Tietokone("HAL",32*GB,100*TB,2000);
 Tietokone ibm = new Tietokone("IBM",640*KB, 10*MB,5);
 hal9000.toString() === "Merkki: HAL muistia 32 GB levy 100 TB korttipaikkoja 2000";  
 ibm.toString()     === "Merkki: IBM muistia 640 KB levy 10 MB korttipaikkoja 5";  
 

main

public static void main(java.lang.String[] args)
Testataan Tietokone -luokkaa

Parameters:
args -


Toisto2

demo
Class Toisto2

java.lang.Object
  extended by demo.Toisto2

public class Toisto2
extends java.lang.Object

Ohjelmalla tulostetaan tiettyä tekstiä tiedostoon

Version:
1.0, 09.03.2003
Author:
Vesa Lappalainen

Constructor Summary
Toisto2()
           
 
Method Summary
static void main(java.lang.String[] args)
          Tuolstetaan tiedostoon riviä En enää turhaan kirjoita numeroituna.
 void ohjeet()
          Ohjeet ohjelman käytöstä
private  void out(java.lang.String s)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

Toisto2

public Toisto2()
Method Detail

out

private void out(java.lang.String s)

ohjeet

public void ohjeet()
Ohjeet ohjelman käytöstä


main

public static void main(java.lang.String[] args)
Tuolstetaan tiedostoon riviä En enää turhaan kirjoita numeroituna.

Parameters:
args - Ei käytössä
Example:
 #THROWS IOException
 #import fi.jyu.mit.ohj2.Suuntaaja;
 #import fi.jyu.mit.ohj2.VertaaTiedosto;
 #import java.io.IOException;
     
 Suuntaaja.StringInput si = new Suuntaaja.StringInput("montatesti.txt\nEn enää ikinä kirjoita\n5\n"); 
 Suuntaaja.StringOutput so = new Suuntaaja.StringOutput();
 
 Toisto2.main(null);
 String tulos =   "000 En enää ikinä kirjoita\n"+
                  "001 En enää ikinä kirjoita\n"+
                  "002 En enää ikinä kirjoita\n"+
                  "003 En enää ikinä kirjoita\n"+
                  "004 En enää ikinä kirjoita\n";
 VertaaTiedosto.vertaaFileString("montatesti.txt",tulos) === null;
 si.palauta(); so.palauta();
 VertaaTiedosto.tuhoaTiedosto("montatesti.txt");
 


Toni

demo
Class Toni

java.lang.Object
  extended by demo.Toni

public class Toni
extends java.lang.Object

Luokkien alut mäkihyppyä varten. Huom! jotakin voi vielä puuttua :-) Poista rivit @SuppressWarnings("unused")

Version:
1.0, 21.02.2003
Author:
Vesa Lappalainen

Nested Class Summary
static class Toni.Kierros
          Luokka yhtä mäkihypyn kierrosta varten
static class Toni.Kilpailija
          Luokka yhtä mäkihypyn kilpailijaa varten.
static class Toni.Tulos
          Luokka mäkihypyn yhden kilpailijan tulosta varten.
 
Constructor Summary
Toni()
           
 
Method Summary
 void kisa()
          Tyhjä aliohjelma kilpailua varten
static void main(java.lang.String[] args)
          Testataan luokan kääntymistä
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

Toni

public Toni()
Method Detail

kisa

public void kisa()
Tyhjä aliohjelma kilpailua varten


main

public static void main(java.lang.String[] args)
Testataan luokan kääntymistä

Parameters:
args - ei käytössä


Toni.Kierros

demo
Class Toni.Kierros

java.lang.Object
  extended by demo.Toni.Kierros
Enclosing class:
Toni

public static class Toni.Kierros
extends java.lang.Object

Luokka yhtä mäkihypyn kierrosta varten


Field Summary
private  double pituus
           
private static int TUOMAREITA
           
private  double[] tuomarit
           
 
Constructor Summary
Toni.Kierros()
          Kierroksen alustaminen
 
Method Summary
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

TUOMAREITA

private static final int TUOMAREITA
See Also:
Constant Field Values

pituus

private double pituus

tuomarit

private final double[] tuomarit
Constructor Detail

Toni.Kierros

public Toni.Kierros()
Kierroksen alustaminen



Toni.Kilpailija

demo
Class Toni.Kilpailija

java.lang.Object
  extended by demo.Toni.Kilpailija
Enclosing class:
Toni

public static class Toni.Kilpailija
extends java.lang.Object

Luokka yhtä mäkihypyn kilpailijaa varten. Sisältää mm. tuloksen.


Field Summary
private  java.lang.String nimi
           
private  int nro
           
private  Toni.Tulos tulos
           
 
Constructor Summary
Toni.Kilpailija()
          Kilpailijan alustaminen
 
Method Summary
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

nimi

private java.lang.String nimi

nro

private int nro

tulos

private final Toni.Tulos tulos
Constructor Detail

Toni.Kilpailija

public Toni.Kilpailija()
Kilpailijan alustaminen



Toni.Tulos

demo
Class Toni.Tulos

java.lang.Object
  extended by demo.Toni.Tulos
Enclosing class:
Toni

public static class Toni.Tulos
extends java.lang.Object

Luokka mäkihypyn yhden kilpailijan tulosta varten. Sisältää monta kierosta.


Field Summary
private static int KIERROKSIA
           
private  Toni.Kierros[] kierros
           
 
Constructor Summary
Toni.Tulos()
          Tuloksen alustaminen
 
Method Summary
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

KIERROKSIA

private static final int KIERROKSIA
See Also:
Constant Field Values

kierros

private final Toni.Kierros[] kierros
Constructor Detail

Toni.Tulos

public Toni.Tulos()
Tuloksen alustaminen



TulYli30

demo
Class TulYli30

java.lang.Object
  extended by demo.TulYli30

public class TulYli30
extends java.lang.Object

Ohjelmalla kopioidaan sellaiset rivit toiseen tiedostoon, joiden alussa on yli 30 oleva luku.

Version:
1.0, 09.03.2003
Author:
Vesa Lappalainen

Constructor Summary
TulYli30()
           
 
Method Summary
static void main(java.lang.String[] args)
          Rivien kopiointi.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

TulYli30

public TulYli30()
Method Detail

main

public static void main(java.lang.String[] args)
Rivien kopiointi.

Parameters:
args - mistä mihin
Example:
 #THROWS IOException
 #STATICIMPORT
 #import java.io.IOException;
 #import fi.jyu.mit.ohj2.VertaaTiedosto;
  VertaaTiedosto.kirjoitaTiedosto("hiljaa.txt",
      "33 hiljaa 1 hiipii\n"+
      "hyvä 33 tulee\n"+
      "36 1 3 5 55\n"+
      "nyt 33 riittää\n");
  String tulos =
      "33 hiljaa 1 hiipii\n"+
      "36 1 3 5 55\n";
  VertaaTiedosto.tuhoaTiedosto("tulos.txt"); // NOPMD
  main(new String[]{"hiljaa.txt","tulos.txt"});
  VertaaTiedosto.vertaaFileString("tulos.txt",tulos) === null;
  VertaaTiedosto.tuhoaTiedosto("tulos.txt");
  VertaaTiedosto.tuhoaTiedosto("hiljaa.txt");
 


User

demo
Class User

java.lang.Object
  extended by demo.User

public class User
extends java.lang.Object

Luokka, joka tallettaa demokäyttäjän tietoja.

Version:
1.1, 08.02.2002, 1.2, 10.02.2008
Author:
Vesa Lappalainen

Field Summary
private  java.lang.String nimi
           
private  int nro
           
private static java.util.regex.Pattern p
          Valmiiksi käännetty pattern joka nopeuttaa testaamista
private  double pisteet
           
private  java.lang.String tunnus
           
 
Constructor Summary
User()
           
 
Method Summary
 java.lang.String getAsListString()
          Palauttaa käyttäjän tiedot muodossa 93 Vesa Lappalainen = 8.5 - vesal
 boolean setAsHTMLString(java.lang.String rivi)
          Käsittelee html-muotoisen rivin: 93 <a href="vesal/index.html?
 boolean setAsHTMLString2(java.lang.String rivi)
          Vaihtoehtoinen versio HTML-muodon käsittelemiseksi.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

nro

private int nro

tunnus

private java.lang.String tunnus

nimi

private java.lang.String nimi

pisteet

private double pisteet

p

private static final java.util.regex.Pattern p
Valmiiksi käännetty pattern joka nopeuttaa testaamista

Constructor Detail

User

public User()
Method Detail

setAsHTMLString

public boolean setAsHTMLString(java.lang.String rivi)
Käsittelee html-muotoisen rivin:
 93 <a href="vesal/index.html?r=1">Vesa Lappalainen</a> = 8.5<br>
 
ja tallettaa sen käyttäjän tietoihin Väärän muotoisesta rivistä palautetaan false

Parameters:
rivi - käsiteltävä merkkijono
Returns:
onnistuiko muunnos vai ei
Example:
   String rivi = "93 (a href=\"vesal/index.html?r=1\")Vesa Lappalainen(/a) = 8.5(br)";
   rivi = rivi.replace('(','<').replace(')','>');
   
   User user = new User();
   user.setAsHTMLString(rivi) === true;
   user.getAsListString() === "93 Vesa Lappalainen = 8.5 - vesal";
   user.setAsHTMLString("kissa") === false;
   user.getAsListString() === "93 Vesa Lappalainen = 8.5 - vesal";
   
   rivi = "93 (a href=\"vesal/index.html?r=1\")Vesa Lappalainen(/a) = a(br)".replace('(','<').replace(')','>');
   user.setAsHTMLString(rivi) === false; // pisteet väärin
   
   rivi = "a (a href=\"vesal/index.html?r=1\")Vesa Lappalainen(/a) = 9(br)".replace('(','<').replace(')','>');
   user.setAsHTMLString(rivi) === false; /// nro väärin
 

setAsHTMLString2

public boolean setAsHTMLString2(java.lang.String rivi)
Vaihtoehtoinen versio HTML-muodon käsittelemiseksi. Toteutus löytyneiden "hahmojen" perusteella.

Parameters:
rivi - String käsiteltävä merkkijono HTML-muodossa
Returns:
boolean voiko muunnoksen tehdä vai ei.
Example:
   String rivi = "93 (a href=\"vesal/index.html?r=1\")Vesa Lappalainen(/a) = 8.4(br)";
   rivi = rivi.replace('(','<').replace(')','>');
   
   User user = new User();
   user.setAsHTMLString2(rivi) === true;
   user.getAsListString() === "93 Vesa Lappalainen = 8.4 - vesal";
   
   user.setAsHTMLString2("kissa") === false;
   user.getAsListString() === "93 Vesa Lappalainen = 8.4 - vesal";
   
   rivi = "93 (a href=\"vesal/index.html?r=1\")Vesa Lappalainen(/a) = a(br)".replace('(','<').replace(')','>');
   user.setAsHTMLString2(rivi) === false; // pisteet väärin
   
   rivi = "a (a href=\"vesal/index.html?r=1\")Vesa Lappalainen(/a) = 9(br)".replace('(','<').replace(')','>');
   user.setAsHTMLString2(rivi) === false; /// nro väärin
 

getAsListString

public java.lang.String getAsListString()
Palauttaa käyttäjän tiedot muodossa
93 Vesa Lappalainen = 8.5 - vesal

Returns:
jono listamuodossa


Vaihda12

demo
Class Vaihda12

java.lang.Object
  extended by demo.Vaihda12

public class Vaihda12
extends java.lang.Object

Testiohjelma jonon kahden ensimmäisen sanan järjestämiseksi

Version:
1.0, 26.01.2002
Author:
Vesa Lappalainen

Constructor Summary
Vaihda12()
           
 
Method Summary
private static int jarjesta12testi(java.lang.String jono, java.lang.String odotettuTulos)
           
static java.lang.String jarjesta1ja2(java.lang.String jono)
          Palauttaa jonon kaksi ensimmäistä sanaa aakkosjärjestyksessä
static void main(java.lang.String[] args)
          Testataan kahden ensimmäisen sanan järjestämistä
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

Vaihda12

public Vaihda12()
Method Detail

jarjesta1ja2

public static java.lang.String jarjesta1ja2(java.lang.String jono)
Palauttaa jonon kaksi ensimmäistä sanaa aakkosjärjestyksessä

Parameters:
jono - merkkijono, jonka kaksi ensimmäistä sanaa järjestetään
Returns:
jono jossa kaksi ensimmäistä sanaa aakkosjärjestyksessä
Example:
   jarjesta1ja2("Ankka Aku")        === "Aku Ankka";
   jarjesta1ja2("Aku Ankka")        === "Aku Ankka";
   jarjesta1ja2("Palo Jukka Pekka") === "Jukka Palo";
   jarjesta1ja2("Aku")              === "Aku";
   jarjesta1ja2("")                 === "";
   jarjesta1ja2(null)               === null; #THROWS NullPointerException   // NOPMD
 

jarjesta12testi

private static int jarjesta12testi(java.lang.String jono,
                                   java.lang.String odotettuTulos)
Parameters:
jono - jono jota tutkitaan
odotettuTulos - millainen jono pitäisi tulla
Returns:
0 jos ok, 1 jos väärin

main

public static void main(java.lang.String[] args)
Testataan kahden ensimmäisen sanan järjestämistä

Parameters:
args - ei käytössä


Vaihtoehdot

demo
Class Vaihtoehdot

java.lang.Object
  extended by demo.Vaihtoehdot

public class Vaihtoehdot
extends java.lang.Object

Luokka äänestyksen vaihtoehdoille

Version:
1.0, 27.02.2003
Author:
Vesa Lappalainen

Field Summary
private  Valinta[] alkiot
           
private  int lkm
           
 
Constructor Summary
Vaihtoehdot(int maxKoko)
          Alustetaan vaihtoehtojen lukumäärä
 
Method Summary
 void aanesta(java.lang.String alkuteksti, java.lang.String toteamus)
          Äänestyssilmukka, josta poistutaan kun käyttäjä ei halua enää jatkaa
 Valinta etsi(char painettu)
          Etsitään valittua kohdetta kirjaimen perusteella
static boolean jatketaan()
          Kysytään K/e kysymys Jatketaanko
 void lisaa(Valinta uusi)
          Lisää uusi valinta.
private  void tulostaAanet()
          Tulostetaan äänestystilanne
private  char tulostaMenuJaOdota()
          Tulostetaan äänestyskohteet ja odotetaan käyttäjän painallusta
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

alkiot

private Valinta[] alkiot

lkm

private int lkm
Constructor Detail

Vaihtoehdot

public Vaihtoehdot(int maxKoko)
Alustetaan vaihtoehtojen lukumäärä

Parameters:
maxKoko - maksimimäärä vaihtoehtoja
Method Detail

jatketaan

public static boolean jatketaan()
Kysytään K/e kysymys Jatketaanko

Returns:
true jos käyttäjä painaa K tai k

lisaa

public void lisaa(Valinta uusi)
Lisää uusi valinta.

Parameters:
uusi - lisättävä valinta

tulostaAanet

private void tulostaAanet()
Tulostetaan äänestystilanne


etsi

public Valinta etsi(char painettu)
Etsitään valittua kohdetta kirjaimen perusteella

Parameters:
painettu - etsittävän kohteen kirjain
Returns:
löydetty kohde tai null jos ei löydy
Example:
 Vaihtoehdot vaihtoehdot = new Vaihtoehdot(3);
 vaihtoehdot.lisaa(new Valinta('K',"Kyllä"));
 vaihtoehdot.lisaa(new Valinta('E',"Ei"));
 vaihtoehdot.lisaa(new Valinta('H',"Ehkä"));
 vaihtoehdot.etsi('K').getTeksti() === "Kyllä";
 vaihtoehdot.etsi('E').getTeksti() === "Ei";
 vaihtoehdot.etsi('H').getTeksti() === "Ehkä";
 vaihtoehdot.etsi('k') === null;
 

tulostaMenuJaOdota

private char tulostaMenuJaOdota()
Tulostetaan äänestyskohteet ja odotetaan käyttäjän painallusta

Returns:
käyttäjän painama äänestyskohde

aanesta

public void aanesta(java.lang.String alkuteksti,
                    java.lang.String toteamus)
Äänestyssilmukka, josta poistutaan kun käyttäjä ei halua enää jatkaa

Parameters:
alkuteksti - Ennen äänestystä tulostettava teksti
toteamus - kunkin äänestyksen jälkeen tulostettava teksti


Vaihtoehdot2

demo
Class Vaihtoehdot2

java.lang.Object
  extended by demo.Vaihtoehdot2

public class Vaihtoehdot2
extends java.lang.Object

Luokka äänestyksen vaihtoehdoille

Version:
1.0, 27.02.2003
Author:
Vesa Lappalainen

Field Summary
private  Valinta[] alkiot
           
private  int lkm
           
 
Constructor Summary
Vaihtoehdot2(int maxKoko)
          Alustetaan vaihtoehtojen lukumäärä
 
Method Summary
 Valinta anna(int i)
          Palauttaa viitteen i:nteen alkioon
 Valinta etsi(char painettu)
          Etsitään valittua kohdetta kirjaimen perusteella
 int getLkm()
          Palautetaan äänestyskohteiden lukumäärä
 void lisaa(Valinta uusi)
          Lisää uusi valinta.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

alkiot

private Valinta[] alkiot

lkm

private int lkm
Constructor Detail

Vaihtoehdot2

public Vaihtoehdot2(int maxKoko)
Alustetaan vaihtoehtojen lukumäärä

Parameters:
maxKoko - maksimimäärä vaihtoehtoja
Method Detail

lisaa

public void lisaa(Valinta uusi)
Lisää uusi valinta.

Parameters:
uusi - lisättävä valinta
Example:
 Vaihtoehdot2 vaihtoehdot = new Vaihtoehdot2(3);
 vaihtoehdot.lisaa(new Valinta('K',"Kyllä"));  vaihtoehdot.getLkm() === 1;  // NOPMD
 vaihtoehdot.lisaa(new Valinta('E',"Ei"));     vaihtoehdot.getLkm() === 2;
 vaihtoehdot.lisaa(new Valinta('H',"Ehkä"));   vaihtoehdot.getLkm() === 3;  // NOPMD
 

getLkm

public int getLkm()
Palautetaan äänestyskohteiden lukumäärä

Returns:
äänestyskohteiden lukumäärä

anna

public Valinta anna(int i)
             throws java.lang.IndexOutOfBoundsException
Palauttaa viitteen i:nteen alkioon

Parameters:
i - monenko alkion viite palautetaan
Returns:
viite valittuun alkioon
Throws:
java.lang.IndexOutOfBoundsException - jos indeksi väärissä rajoissa
Example:
 Vaihtoehdot2 vaihtoehdot = new Vaihtoehdot2(3);
 vaihtoehdot.lisaa(new Valinta('K',"Kyllä"));     // NOPMD
 vaihtoehdot.lisaa(new Valinta('E',"Ei"));  
 vaihtoehdot.lisaa(new Valinta('H',"Ehkä"));
 vaihtoehdot.anna(0).getTulostus() === "K = Kyllä"; 
 vaihtoehdot.anna(1).getTulostus() === "E = Ei"; 
 vaihtoehdot.anna(2).getTulostus() === "H = Ehkä"; 
 vaihtoehdot.anna(3).getTulostus() === "H = Ehkä";  #THROWS IndexOutOfBoundsException 
 

etsi

public Valinta etsi(char painettu)
Etsitään valittua kohdetta kirjaimen perusteella

Parameters:
painettu - etsittävän kohteen kirjain
Returns:
löydetty kohde tai null jos ei löydy
Example:
 Vaihtoehdot2 vaihtoehdot = new Vaihtoehdot2(3);
 vaihtoehdot.lisaa(new Valinta('K',"Kyllä"));
 vaihtoehdot.lisaa(new Valinta('E',"Ei"));
 vaihtoehdot.lisaa(new Valinta('H',"Ehkä"));
 vaihtoehdot.etsi('K').getTeksti() === "Kyllä";
 vaihtoehdot.etsi('E').getTeksti() === "Ei";
 vaihtoehdot.etsi('H').getTeksti() === "Ehkä";
 vaihtoehdot.etsi('k') === null;
 


Vali

demo
Class Vali

java.lang.Object
  extended by demo.Vali
Direct Known Subclasses:
Vali.TyhjaVali

public class Vali
extends java.lang.Object

Luokka reaalilukuvälin käsittelyyn

Version:
1.0, 07.02.2003
Author:
Vesa Lappalainen

Nested Class Summary
private static class Vali.TyhjaVali
          Luokka edustamaan tyhjää väliä
 
Field Summary
static Vali tyhja
          Globaali tyhjää väliä edustava olio
private  double x1
           
private  double x2
           
 
Constructor Summary
Vali()
          Alustetaan väli oletusarvoonsa eli origoksi
Vali(double x1)
          Alustetaan pisteetksi x1
Vali(double x1, double x2)
          Alustetaan väliksi [x1,x2]
 
Method Summary
 void aseta(double x1, double x2)
          Asetataan väli niin että alaraja on aina pienempi kuin yläraja
 int compareTo(Vali v2)
          Verrataan väliä väliin v2
 boolean equals(java.lang.Object obj)
          Tutkii onko Double, Integer, merkkijono tai väli sama arvoltaan kuin tämä väli
 int hashCode()
          Palauttaa lajitteluavaimen välille
 void kysy()
          Kysytään käyttäjältä arvo reaalilukuvälille
 Vali leikkaus(Vali v2)
          Palauttaa kahden välin leikkauksen tai tyhjän välin.
static void main(java.lang.String[] args)
          Testataan Vali-luokkaa
 void parse(java.lang.String s)
          Selvitää välin sisällön merkkijonosta.
 java.lang.String toString()
          Muutetaan väli merkkijonoksi muotoon (1-4)
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

Field Detail

x1

private double x1

x2

private double x2

tyhja

public static final Vali tyhja
Globaali tyhjää väliä edustava olio

Constructor Detail

Vali

public Vali()
Alustetaan väli oletusarvoonsa eli origoksi


Vali

public Vali(double x1)
Alustetaan pisteetksi x1

Parameters:
x1 - piste jota vastaamaan väli alustetaan

Vali

public Vali(double x1,
            double x2)
Alustetaan väliksi [x1,x2]

Parameters:
x1 - alkupiste
x2 - loppupiste
Method Detail

aseta

public final void aseta(double x1,
                        double x2)
Asetataan väli niin että alaraja on aina pienempi kuin yläraja

Parameters:
x1 - välin alaraja
x2 - välin yläraja

parse

public void parse(java.lang.String s)
Selvitää välin sisällön merkkijonosta. Väli saa olla sulkumerkkien sisällä tai ilman sulkumerkkejä
 Olkoon väli ennen parsen aloittamista (0-5)
   s = ""     =)  (0-5)
   s = "3"    =)  (3,3)
   s = "3-"   =)  (3-5)
   s = "-3"   =)  (0-3)
   s = "1-3"  =)  (1-3)
 

Parameters:
s - Tutkittava jono
Example:
 Vali vali = new Vali();
 vali.aseta(0,5); vali.parse($s);  vali.toString() === $tulos;
 
  $s        |  $tulos
 -------------------------
  ""        | "(0.0-5.0)"
  "3"       | "(3.0-3.0)"
  "3-"      | "(3.0-5.0)"
  "-3"      | "(0.0-3.0)"             // NOPMD
  "1-3"     | "(1.0-3.0)"             // NOPMD
  "()"      | "(0.0-5.0)"
  "(3)"     | "(3.0-3.0)"
  "(3-)"    | "(3.0-5.0)"
  "(-3)"    | "(0.0-3.0)"
  "(1-3)"   | "(1.0-3.0)"
  " ( 3 )"  | "(3.0-3.0)"
  " 1 - 3 " | "(1.0-3.0)"
  "   -  "  | "(0.0-5.0)"
 

kysy

public void kysy()
Kysytään käyttäjältä arvo reaalilukuvälille

Example:
 #import fi.jyu.mit.ohj2.Suuntaaja;
     
 Suuntaaja.StringInput si = new Suuntaaja.StringInput();  
 Suuntaaja.StringOutput so = new Suuntaaja.StringOutput();

 Vali vali = new Vali(0,5);
 
 si.input("");      vali.kysy();  vali.equals("0-5") === true;    // NOPMD
 si.input("3\n");   vali.kysy();  vali.equals("3-3") === true;    // NOPMD
 si.input("1-\n");  vali.kysy();  vali.equals("1-3") === true;    // NOPMD  
 si.input("-4\n");  vali.kysy();  vali.equals("1-4") === true;    // NOPMD  
 si.input("2-3\n"); vali.kysy();  vali.equals("2-3") === true;    // NOPMD  
 
 si.palauta(); so.palauta();
 
 

toString

public java.lang.String toString()
Muutetaan väli merkkijonoksi muotoon (1-4)

Overrides:
toString in class java.lang.Object
Returns:
väli merkkijonona
Example:
  Vali vali = new Vali(3,4);
  vali.toString() === "(3.0-4.0)";
 

compareTo

public int compareTo(Vali v2)
Verrataan väliä väliin v2

Parameters:
v2 - verrattava väli
Returns:
0 jos välit osuvat toisiinsa, -1 jos this < v2 ja 1 jos this > v2
Example:
 Vali v1 = new Vali(0,3);
 Vali v2 = new Vali(2,4);
 Vali v3 = new Vali(-1,6);
 Vali v4 = new Vali(4,6);
 
 v1.compareTo(v2) === 0;
 v1.compareTo(v3) === 0;
 v1.compareTo(v4) === -1;
 v2.compareTo(v1) === 0;
 v2.compareTo(v3) === 0;
 v2.compareTo(v4) === 0;
 v3.compareTo(v1) === 0;
 v3.compareTo(v2) === 0;
 v3.compareTo(v4) === 0;
 v4.compareTo(v1) === 1;
 v4.compareTo(v2) === 0;
 v4.compareTo(v3) === 0;
 

equals

public boolean equals(java.lang.Object obj)
Tutkii onko Double, Integer, merkkijono tai väli sama arvoltaan kuin tämä väli

Overrides:
equals in class java.lang.Object
Returns:
true jos arvoltaan sama, muuten false
Example:
  Vali v24   = new Vali(2,4);
  Vali v24b  = new Vali(2,4);
  Vali v3    = new Vali(3);
  Double d3  = new Double(3);
  Integer i3 = new Integer(3);                // NOPMD
 
  v24.equals(v24b)  === true;
  v24.equals(v3)    === false;
  v24.equals("2-4") === true;                 // NOPMD
  v24.equals(d3)    === false;
  v3.equals(d3)     === true;
  v24.equals(i3)    === false;
  v3.equals(i3)     === true;
 

hashCode

public int hashCode()
Palauttaa lajitteluavaimen välille

Overrides:
hashCode in class java.lang.Object
Returns:
lajitteluavain

leikkaus

public Vali leikkaus(Vali v2)
Palauttaa kahden välin leikkauksen tai tyhjän välin.

Parameters:
v2 - leikkauksen toinen osapuoli, toinen on this
Returns:
välien leikkaus
Example:
 Vali v1 = new Vali(0,3);
 Vali v2 = new Vali(2,4);
 Vali v3 = new Vali(-1,6);
 Vali v4 = new Vali(4,6);
 
 v1.leikkaus(v2).toString() === "(2.0-3.0)";
 v1.leikkaus(v3).toString() === "(0.0-3.0)";
 v1.leikkaus(v4)            === Vali.tyhja;        
 v2.leikkaus(v1).toString() === "(2.0-3.0)";
 v2.leikkaus(v3).toString() === "(2.0-4.0)";
 v2.leikkaus(v4).toString() === "(4.0-4.0)";
 v3.leikkaus(v1).toString() === "(0.0-3.0)";
 v3.leikkaus(v2).toString() === "(2.0-4.0)";
 v3.leikkaus(v4).toString() === "(4.0-6.0)";
 v4.leikkaus(v1)            === Vali.tyhja;
 v4.leikkaus(v2).toString() === "(4.0-4.0)";
 v4.leikkaus(v3).toString() === "(4.0-6.0)";
 

main

public static void main(java.lang.String[] args)
Testataan Vali-luokkaa

Parameters:
args - ei käytössä


Vali.TyhjaVali

demo
Class Vali.TyhjaVali

java.lang.Object
  extended by demo.Vali
      extended by demo.Vali.TyhjaVali
Enclosing class:
Vali

private static class Vali.TyhjaVali
extends Vali

Luokka edustamaan tyhjää väliä

Author:
vesal

Field Summary
 
Fields inherited from class demo.Vali
tyhja
 
Constructor Summary
Vali.TyhjaVali()
          Alustetaan tyhjä väli
 
Method Summary
 java.lang.String toString()
          Muutetaan väli merkkijonoksi muotoon (1-4)
 
Methods inherited from class demo.Vali
aseta, compareTo, equals, hashCode, kysy, leikkaus, main, parse
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

Constructor Detail

Vali.TyhjaVali

public Vali.TyhjaVali()
Alustetaan tyhjä väli

Method Detail

toString

public java.lang.String toString()
Description copied from class: Vali
Muutetaan väli merkkijonoksi muotoon (1-4)

Overrides:
toString in class Vali
Returns:
tyhjä


Valinta

demo
Class Valinta

java.lang.Object
  extended by demo.Valinta

public class Valinta
extends java.lang.Object

Luokka äänestyksen yhdelle vaihtoehdolle

Version:
1.0, 27.02.2003
Author:
Vesa Lappalainen

Field Summary
private  char kirjain
           
private  int maara
           
private  java.lang.String teksti
           
 
Constructor Summary
Valinta(char kirjain, java.lang.String teksti)
          Alustetaan äänestyskohde valituilla arvoilla
 
Method Summary
 char getKirjain()
          Kohteen äänestyskirjain
 int getMaara()
          Montako ääntä kohde on saanut
 java.lang.String getTeksti()
          Kohteen kuvaileva teksti
 java.lang.String getTulostus()
          Kohteen tulostettava teksti
 void lisaa()
          Lisää yksi ääni kohteelle
static void main(java.lang.String[] args)
          Testataan äänestyskohdetta
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

kirjain

private final char kirjain

teksti

private final java.lang.String teksti

maara

private int maara
Constructor Detail

Valinta

public Valinta(char kirjain,
               java.lang.String teksti)
Alustetaan äänestyskohde valituilla arvoilla

Parameters:
kirjain - kirjain jolla äänestetään
teksti - mitä näytetään äänestyskohteeksi
Method Detail

getTulostus

public java.lang.String getTulostus()
Kohteen tulostettava teksti

Returns:
esim. K = Kyllä Valinta val = new Valinta('K',"Kyllä"); val.getTulostus() === "K = Kyllä";

getMaara

public int getMaara()
Montako ääntä kohde on saanut

Returns:
äänien määrä

lisaa

public void lisaa()
Lisää yksi ääni kohteelle

Example:
  Valinta val = new Valinta('K',"Kyllä");
  val.getMaara() === 0;
  val.lisaa();
  val.getMaara() === 1;
  val.lisaa();
  val.getMaara() === 2;
 

getKirjain

public char getKirjain()
Kohteen äänestyskirjain

Returns:
kohteen kirjain

getTeksti

public java.lang.String getTeksti()
Kohteen kuvaileva teksti

Returns:
kohteen teksti

main

public static void main(java.lang.String[] args)
Testataan äänestyskohdetta

Parameters:
args - Ei käytössä


Viitteet

demo
Class Viitteet

java.lang.Object
  extended by demo.Viitteet

public class Viitteet
extends java.lang.Object

Testiohjelma viitteille

Version:
1.0, 26.01.2002
Author:
Vesa Lappalainen

Constructor Summary
Viitteet()
           
 
Method Summary
static void main(java.lang.String[] args)
          Testiohjelma olioviitteistä.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

Viitteet

public Viitteet()
Method Detail

main

public static void main(java.lang.String[] args)
Testiohjelma olioviitteistä.

Parameters:
args - ei käytössä


VKseko02

demo
Class VKseko02

java.lang.Object
  extended by demo.VKseko02

public class VKseko02
extends java.lang.Object

Tutki päytätestin avulla mitä ohjelma tulostaa. Merkitse myös milloin mikäkin olio muuttuu "roskaksi".

Version:
1.0, 09.03.2003
Author:
Vesa Lappalainen

Nested Class Summary
private static class VKseko02.Sorsa
           
 
Constructor Summary
VKseko02()
           
 
Method Summary
static void main(java.lang.String[] args)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

VKseko02

public VKseko02()
Method Detail

main

public static void main(java.lang.String[] args)
Parameters:
args - ei käytössä


VKseko02.Sorsa

demo
Class VKseko02.Sorsa

java.lang.Object
  extended by demo.VKseko02.Sorsa
Enclosing class:
VKseko02

private static class VKseko02.Sorsa
extends java.lang.Object


Field Summary
private  java.lang.String nimi
           
private  int vari
           
 
Constructor Summary
private VKseko02.Sorsa()
           
private VKseko02.Sorsa(java.lang.StringBuffer inimi)
           
 
Method Summary
private  void hyppaa(VKseko02.Sorsa apu)
           
private  void tulosta()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

vari

private int vari

nimi

private java.lang.String nimi
Constructor Detail

VKseko02.Sorsa

private VKseko02.Sorsa()

VKseko02.Sorsa

private VKseko02.Sorsa(java.lang.StringBuffer inimi)
Method Detail

hyppaa

private void hyppaa(VKseko02.Sorsa apu)

tulosta

private void tulosta()