fi.jyu.mit.ohj2
Class Mjonot

java.lang.Object
  extended byfi.jyu.mit.ohj2.Mjonot

public class Mjonot
extends java.lang.Object

Joukko merkkijonoaliohjelmia Ohjelmointi 2-kurssin käyttöön

Since:
1.4.1

Field Summary
static char DESIMAALI
           
static java.lang.String DOUBLENUMEROT
           
static java.lang.String NUMEROT
           
 
Constructor Summary
Mjonot()
           
 
Method Summary
static java.lang.String erota(java.lang.StringBuffer jono)
          Erottaa jonosta välilyönnin kohdalta alkuosan ja loppuosan.
static java.lang.String erota(java.lang.StringBuffer jono, char merkki)
          Erottaa jonosta valitun merkin kohdalta alkuosan ja loppuosan.
static java.lang.String erota(java.lang.StringBuffer jono, char merkki, boolean etsitakaperin)
          Erottaa jonosta valitun merkin kohdalta alkuosan ja loppuosan.
static double erota(java.lang.StringBuffer jono, char merkki, double oletus)
          Ottaa merkkijonosta ensin seuraavan palasen merkki-parametriin saakka ja sitten ottaa tästä palasta reaaliluvun
static int erota(java.lang.StringBuffer jono, char merkki, int oletus)
          Ottaa merkkijonosta ensin seuraavan palasen merkki-parametriin saakka ja sitten ottaa tästä palasta kokonaisluvun
static java.lang.String erota(java.lang.StringBuffer jono, char merkki, java.lang.String oletus)
          Erottaa jonosta valitun merkin kohdalta alkuosan ja loppuosan.
static char erotaChar(java.lang.StringBuffer jono, char oletus)
          Ottaa merkkijonosta seuraavan merkin
static double erotaDouble(java.lang.StringBuffer jono, double oletus)
          Erottaa merkkijonosta seuraavan reaaliluvun.
static double erotaDouble(java.lang.StringBuffer jono, double oletus, java.lang.String numerot)
          Erottaa merkkijonosta seuraavan reaaliluvun.
static double erotaDouble(java.lang.String jono, double oletus)
          Erottaa merkkijonosta seuraavan reaaliluvun.
static double erotaEx(java.lang.StringBuffer jono, char merkki, double oletus)
          Ottaa merkkijonosta ensin seuraavan palasen merkki-parametriin saakka ja sitten ottaa tästä palasta reaaliluvun.
static int erotaEx(java.lang.StringBuffer jono, char merkki, int oletus)
          Ottaa merkkijonosta ensin seuraavan palasen merkki-parametriin saakka ja sitten ottaa tästä palasta kokonaisluvun
static java.lang.String erotaEx(java.lang.StringBuffer jono, char merkki, java.lang.String oletus)
          Erottaa jonosta valitun merkin kohdalta alkuosan ja loppuosan.
static int erotaInt(java.lang.StringBuffer jono, int oletus)
          Ottaa merkkijonosta seuraavan kokonaisluvun
static int erotaInt(java.lang.String jono, int oletus)
          Ottaa merkkijonosta seuraavan kokonaisluvun
static java.lang.String fmt(double d, int len, int desim)
          Muotoilee reaaliluvun len kokoiseen tilaan.
static java.lang.String fmt(int n, int len)
          Muotoilee kokonaisluvun len kokoiseen tilaan.
static java.lang.String fmt(int n, int len, char fillch)
          Muotoilee kokonaisluvun len kokoiseen tilaan.
static java.lang.String fmt(java.lang.StringBuffer s, int len)
          Palauttaa jonon s muotoiltuna vähintään len-pituiseksi
static java.lang.String fmt(java.lang.String s, int len)
          Palauttaa jonon s muotoiltuna vähintään len-pituiseksi Esim: fmt("2",3) => " 2" fmt("2",-3) => "2 "
static java.lang.String fmt(java.lang.String s, int len, char fillch)
          Palauttaa jonon s muotoiltuna vähintään len-pituiseksi Esim: fmt("2",3,'0') => "002" fmt("2",-3,' ') => "2 "
static void main(java.lang.String[] args)
           
static java.lang.String poista_2_tyhjat(java.lang.String s)
          Poistetaan jonosta kaikki kaksin- tai useampikertaiset tyhjät.
static java.lang.StringBuffer poista_2_tyhjat(java.lang.StringBuffer s)
          Poistetaan jonosta kaikki kaksin- tai useampikertaiset tyhjät.
static java.lang.String tayta(java.lang.String s, int n)
          Palauttaa jonon, jossa on monistettuna jono s n kertaa tayta("kissa",3) => "kissakissakissa" Tuplataan jonon pituus joka kerta => 100 monistusta vaatii 7 kierrosta
static java.lang.String tyhja(int n)
          Palauttaa merkkijonon jossa on n kappaletta välilyöntejä
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

NUMEROT

public static final java.lang.String NUMEROT
See Also:
Constant Field Values

DESIMAALI

public static final char DESIMAALI
See Also:
Constant Field Values

DOUBLENUMEROT

public static final java.lang.String DOUBLENUMEROT
See Also:
Constant Field Values
Constructor Detail

Mjonot

public Mjonot()
Method Detail

tayta

public static java.lang.String tayta(java.lang.String s,
                                     int n)
Palauttaa jonon, jossa on monistettuna jono s n kertaa
 tayta("kissa",3)  => "kissakissakissa"
Tuplataan jonon pituus joka kerta => 100 monistusta vaatii 7 kierrosta

Parameters:
s - monistettava jono
n - kuinka monta kertaa monistetaan
Returns:
s monistettuna n kertaa

tyhja

public static java.lang.String tyhja(int n)
Palauttaa merkkijonon jossa on n kappaletta välilyöntejä

Parameters:
n - montako välilyöntiä tarvitaan
Returns:
jono, jossa on n kpl välilyöntejä

fmt

public static java.lang.String fmt(java.lang.String s,
                                   int len,
                                   char fillch)
Palauttaa jonon s muotoiltuna vähintään len-pituiseksi
 Esim:  fmt("2",3,'0')  => "002"
        fmt("2",-3,' ') => "2  "
 

Parameters:
s - muotoiltava jono
len - pituus, negatiivisella vasempaan laitaan, pos. oikeaan
fillch - merkki jolla täytetään
Returns:
muotoiltu jono

fmt

public static java.lang.String fmt(java.lang.String s,
                                   int len)
Palauttaa jonon s muotoiltuna vähintään len-pituiseksi
 Esim:  fmt("2",3)  => "  2"
        fmt("2",-3) => "2  "
 

Parameters:
s - muotoiltava jono
len - pituus, negatiivisella vasempaan laitaan, pos. oikeaan
Returns:
muotoiltu jono

fmt

public static java.lang.String fmt(java.lang.StringBuffer s,
                                   int len)
Palauttaa jonon s muotoiltuna vähintään len-pituiseksi

Parameters:
s - muotoiltava jono
len - pituus, negatiivisella vasempaan laitaan, pos. oikeaan
Returns:
muotoiltu jono
See Also:
fmt(String s,int len)

fmt

public static java.lang.String fmt(int n,
                                   int len)
Muotoilee kokonaisluvun len kokoiseen tilaan.
fmt(12,4) => "  12";  fmt(12,-4) => "12  "

Parameters:
n - muotoiltava luku
len - tulosjonon vähimmäispituus
Returns:
merkkijonoksi muotoiltu luku
See Also:
fmt(String s,int len)

fmt

public static java.lang.String fmt(int n,
                                   int len,
                                   char fillch)
Muotoilee kokonaisluvun len kokoiseen tilaan.
fmt(12,4,'0') => "0012";  fmt(12,-4,' ') => "12  "

Parameters:
n - muotoiltava luku
len - tulosjonon vähimmäispituus
fillch - merkki jolla täytetään
Returns:
merkkijonoksi muotoiltu luku
See Also:
fmt(String s,int len)

fmt

public static java.lang.String fmt(double d,
                                   int len,
                                   int desim)
Muotoilee reaaliluvun len kokoiseen tilaan.
fmt(12.3,6,2) => "12.30 ";  fmt(12.3,-6,2) => "12.30 "

Parameters:
d - muotoiltava luku
len - tulosjonon vähimmäispituus
desim - desimaalien lukumäärä tulosjonossa
Returns:
merkkijonoksi muotoiltu luku
See Also:
fmt(String s,int len)

poista_2_tyhjat

public static java.lang.StringBuffer poista_2_tyhjat(java.lang.StringBuffer s)
Poistetaan jonosta kaikki kaksin- tai useampikertaiset tyhjät.
 jono = "   kissa     istuu   ";
 poista_2_tyhjat(jono)  => jono = " kissa istuu ";
 

Parameters:
s - jono josta tyhjät poistetaan
Returns:
viite jonoon josta poistettu

poista_2_tyhjat

public static java.lang.String poista_2_tyhjat(java.lang.String s)
Poistetaan jonosta kaikki kaksin- tai useampikertaiset tyhjät.
 jono = poista_2_tyhjat("   kissa     istuu   ")  => jono = " kissa istuu ";
 

Parameters:
s - jono josta tyhjät poistetaan
Returns:
viite uusi jono josta tyhjät poistettu

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 valitun merkin kohdalta alkuosan ja loppuosan.

Parameters:
jono - jono jota pilkotaan
merkki - merkki jonka kohdalta katkaistaan
Returns:
merkkiä edeltävä jono

erota

public static java.lang.String erota(java.lang.StringBuffer jono)
Erottaa jonosta välilyönnin kohdalta alkuosan ja loppuosan.

Parameters:
jono - jono jota pilkotaan
Returns:
merkkiä edeltävä jono

erotaDouble

public static double erotaDouble(java.lang.StringBuffer jono,
                                 double oletus,
                                 java.lang.String numerot)
Erottaa merkkijonosta seuraavan reaaliluvun. Jos lukua ei voida erottaa niin palautetaan oletus
 jono = " 12.34 km"; d = erotaDouble(jono,0);  => d = 12.34  jono = " km"
 jono = "12k34 km"; d = erotaDouble(jono,0);  => d = 12  jono = "k34 km"
 jono = "k12.34 km"; d = erotaDouble(jono,0); => d = 0  jono = "k12.34 km"
 

Parameters:
jono - merkkijono josta luku otetaan, jono lyhenee
oletus - arvo jota käytetään jos jonossa ei ole yhtään numeroa
numerot - aluksi sallitut numerot
Returns:
otettu reaaliluku

erotaDouble

public static double erotaDouble(java.lang.StringBuffer jono,
                                 double oletus)
Erottaa merkkijonosta seuraavan reaaliluvun. Jos lukua ei voida erottaa niin palautetaan oletus
 jono = " 12.34 km"; d = erotaDouble(jono,0);  => d = 12.34  jono = " km"
 jono = "12k34 km"; d = erotaDouble(jono,0);  => d = 12  jono = "k34 km"
 jono = "k12.34 km"; d = erotaDouble(jono,0); => d = 0  jono = "k12.34 km"
 

Parameters:
jono - merkkijono josta luku otetaan, jono lyhenee
oletus - arvo jota käytetään jos jonossa ei ole yhtään numeroa
Returns:
otettu reaaliluku
See Also:
erotaDouble(StringBuffer jono, double oletus, String numerot)

erotaInt

public static int erotaInt(java.lang.StringBuffer jono,
                           int oletus)
Ottaa merkkijonosta seuraavan kokonaisluvun

Parameters:
jono - merkkijono josta luku otetaan, jono lyhenee
oletus - arvo jota käytetään jos jonossa ei ole yhtään numeroa
Returns:
otettu kokonaisluku
See Also:
erotaDouble(StringBuffer jono, double oletus)

erotaDouble

public static double erotaDouble(java.lang.String jono,
                                 double oletus)
Erottaa merkkijonosta seuraavan reaaliluvun.

Parameters:
jono - merkkijono josta luku otetaan, jono ei muutu
oletus - arvo jota käytetään jos jonossa ei ole yhtään numeroa
Returns:
otettu reaaliluku
See Also:
erotaDouble(StringBuffer jono, double oletus)

erotaInt

public static int erotaInt(java.lang.String jono,
                           int oletus)
Ottaa merkkijonosta seuraavan kokonaisluvun

Parameters:
jono - merkkijono josta luku otetaan, jono ei muutu
oletus - arvo jota käytetään jos jonossa ei ole yhtään numeroa
Returns:
otettu kokonaisluku
See Also:
erotaDouble(StringBuffer jono, double oletus)

erotaChar

public static char erotaChar(java.lang.StringBuffer jono,
                             char oletus)
Ottaa merkkijonosta seuraavan merkin

Parameters:
jono - merkkijono josta merkki otetaan
oletus - arvo jota käytetään jos jonossa ei ole yhtään merkkiä
Returns:
otettu merkki

erota

public static java.lang.String erota(java.lang.StringBuffer jono,
                                     char merkki,
                                     java.lang.String oletus)
Erottaa jonosta valitun merkin kohdalta alkuosan ja loppuosan. Jono trimmataan ennen palautusta (kaikki tyhjät pois) Käyttää oletusta jos jono on tyhjä. Tehty lähinnä "kaveriksi" vastaaville int ja double funktiolle, jotta funktiopolymorfismin avulla saadaan symmetrisiä aliohjelmia jolloin kutsussa on helppo vaihtaa parametrin tyyppi
   String s = erota(jono,'|',"");
   double d = erota(jono,'|',0.0);
   s = erota(jono,'|',s);
   d = erota(jono,'|',d);
 

Parameters:
jono - jono jota pilkotaan
merkki - merkki jonka kohdalta katkaistaan
oletus - arvo jota käytetään jos palasesta tulee tyhjä
Returns:
merkkiä edeltävä jono
See Also:
erota(StringBuffer jono, char merkki, boolean etsitakaperin)

erota

public static double erota(java.lang.StringBuffer jono,
                           char merkki,
                           double oletus)
Ottaa merkkijonosta ensin seuraavan palasen merkki-parametriin saakka ja sitten ottaa tästä palasta reaaliluvun

Parameters:
jono - jono jota pilkotaan
merkki - merkki jonka kohdalta katkaistaan
oletus - arvo jota käytetään jos palasta ei saa reaalilukua
Returns:
merkkiä edeltävä jono
See Also:
erota(StringBuffer jono, char merkki, String oletus)

erota

public static int erota(java.lang.StringBuffer jono,
                        char merkki,
                        int oletus)
Ottaa merkkijonosta ensin seuraavan palasen merkki-parametriin saakka ja sitten ottaa tästä palasta kokonaisluvun

Parameters:
jono - jono jota pilkotaan
merkki - merkki jonka kohdalta katkaistaan
oletus - arvo jota käytetään jos palasta ei saa reaalilukua
Returns:
merkkiä edeltävä jono
See Also:
erota(StringBuffer jono, char merkki, String oletus)

erotaEx

public static java.lang.String erotaEx(java.lang.StringBuffer jono,
                                       char merkki,
                                       java.lang.String oletus)
                                throws java.lang.NumberFormatException
Erottaa jonosta valitun merkin kohdalta alkuosan ja loppuosan. Jono trimmataan ennen palautusta (kaikki tyhjät pois) Heittää poikkeuksen jos jono on tyhjä Tehty lähinnä "kaveriksi" vastaaville int ja double funktiolle, jotta funktiopolymorfismin avulla saadaan symmetrisiä aliohjelmia jolloin kutsussa on helppo vaihtaa parametrin tyyppi
   String s = null;
   double d = 0.0;
   try {
     s = erotaEx(jono,'|',s);
     d = erotaEx(jono,'|',d);
   } catch ( NumberFormatException ex ) {
     System.out.println(ex.getMessage());
   }
 

Parameters:
jono - jono jota pilkotaan
merkki - merkki jonka kohdalta katkaistaan
oletus - arvo mikäli tulos olisi tyhjä
Returns:
merkkiä edeltävä jono throws NumberFormatException jos palaa ei saada
Throws:
java.lang.NumberFormatException
See Also:
erota(StringBuffer jono, char merkki, boolean etsitakaperin)

erotaEx

public static double erotaEx(java.lang.StringBuffer jono,
                             char merkki,
                             double oletus)
                      throws java.lang.NumberFormatException
Ottaa merkkijonosta ensin seuraavan palasen merkki-parametriin saakka ja sitten ottaa tästä palasta reaaliluvun.

Parameters:
jono - jono jota pilkotaan
merkki - merkki jonka kohdalta katkaistaan
oletus - tuo vain tiedon palautettavasta tyypistä
Returns:
merkkiä edeltävä jono throws NumberFormatException jos reaalilukua ei saada
Throws:
java.lang.NumberFormatException
See Also:
erotaEx(StringBuffer jono, char merkki, String oletus)

erotaEx

public static int erotaEx(java.lang.StringBuffer jono,
                          char merkki,
                          int oletus)
                   throws java.lang.NumberFormatException
Ottaa merkkijonosta ensin seuraavan palasen merkki-parametriin saakka ja sitten ottaa tästä palasta kokonaisluvun

Parameters:
jono - jono jota pilkotaan
merkki - merkki jonka kohdalta katkaistaan
oletus - tuo vain tiedon palautettavasta tyypistä
Returns:
merkkiä edeltävä jono throws NumberFormatException jos kokonaislukua ei saada
Throws:
java.lang.NumberFormatException
See Also:
erotaEx(StringBuffer jono, char merkki, String oletus)

main

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