fi.jyu.mit.ohj2
Class Mjonot

java.lang.Object
  extended by fi.jyu.mit.ohj2.Mjonot

public class Mjonot
extends Object

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

Since:
1.5
Version:
1.0, 07.01.2003, 1.1, 09.03.2002, 1.2, 30.09.2007 / vl, testi, 1.3, 12.08.2008 / vl, StringBuilder
Author:
Vesa Lappalainen

Field Summary
static char DESIMAALI
          Käytetty desimaalisymboli
static String DOUBLEMERKIT
          Tunnetut reaaliluvun merkit
static char ETUMERKKI
          Käytetty desimaalisymboli
static String INTMERKIT
          Tunnetut kokonaisluvun merkit
static String NUMEROT
          Tunnetut numeromerkit
 
Constructor Summary
Mjonot()
           
 
Method Summary
static String erota(StringBuffer jono)
          Erottaa jonosta välilyönnin kohdalta alkuosan ja loppuosan.
static String erota(StringBuffer jono, char merkki)
          Erottaa jonosta valitun merkin kohdalta alkuosan ja loppuosan.
static String erota(StringBuffer jono, char merkki, boolean etsitakaperin)
          Erottaa jonosta valitun merkin kohdalta alkuosan ja loppuosan.
static double erota(StringBuffer jono, char merkki, double oletus)
          Ottaa merkkijonosta ensin seuraavan palasen merkki-parametriin saakka ja sitten ottaa tästä palasta reaaliluvun
static int erota(StringBuffer jono, char merkki, int oletus)
          Ottaa merkkijonosta ensin seuraavan palasen merkki-parametriin saakka ja sitten ottaa tästä palasta kokonaisluvun
static String erota(StringBuffer jono, char merkki, String oletus)
          Erottaa jonosta valitun merkin kohdalta alkuosan ja loppuosan.
static String erota(StringBuilder jono)
          Erottaa jonosta välilyönnin kohdalta alkuosan ja loppuosan.
static String erota(StringBuilder jono, char merkki)
          Erottaa jonosta valitun merkin kohdalta alkuosan ja loppuosan.
static String erota(StringBuilder jono, char merkki, boolean etsitakaperin)
          Erottaa jonosta valitun merkin kohdalta alkuosan ja loppuosan.
static double erota(StringBuilder jono, char merkki, double oletus)
          Ottaa merkkijonosta ensin seuraavan palasen merkki-parametriin saakka ja sitten ottaa tästä palasta reaaliluvun
static int erota(StringBuilder jono, char merkki, int oletus)
          Ottaa merkkijonosta ensin seuraavan palasen merkki-parametriin saakka ja sitten ottaa tästä palasta kokonaisluvun
static String erota(StringBuilder jono, char merkki, String oletus)
          Erottaa jonosta valitun merkin kohdalta alkuosan ja loppuosan.
static char erotaChar(StringBuffer jono, char oletus)
          Ottaa merkkijonosta seuraavan merkin
static char erotaChar(StringBuilder jono, char oletus)
          Ottaa merkkijonosta seuraavan merkin
static double erotaDouble(StringBuffer jono, double oletus)
          Erottaa merkkijonosta seuraavan reaaliluvun.
static double erotaDouble(StringBuffer jono, double oletus, String numerot)
          Erottaa merkkijonosta seuraavan reaaliluvun.
static double erotaDouble(StringBuilder jono, double oletus)
          Erottaa merkkijonosta seuraavan reaaliluvun.
static double erotaDouble(StringBuilder jono, double oletus, String numerot)
          Erottaa merkkijonosta seuraavan reaaliluvun.
static double erotaDouble(String jono, double oletus)
          Erottaa merkkijonosta seuraavan reaaliluvun.
static double erotaEx(StringBuffer jono, char merkki, double oletus)
          Ottaa merkkijonosta ensin seuraavan palasen merkki-parametriin saakka ja sitten ottaa tästä palasta reaaliluvun.
static int erotaEx(StringBuffer jono, char merkki, int oletus)
          Ottaa merkkijonosta ensin seuraavan palasen merkki-parametriin saakka ja sitten ottaa tästä palasta kokonaisluvun
static String erotaEx(StringBuffer jono, char merkki, String oletus)
          Erottaa jonosta valitun merkin kohdalta alkuosan ja loppuosan.
static double erotaEx(StringBuilder jono, char merkki, double oletus)
          Ottaa merkkijonosta ensin seuraavan palasen merkki-parametriin saakka ja sitten ottaa tästä palasta reaaliluvun.
static int erotaEx(StringBuilder jono, char merkki, int oletus)
          Ottaa merkkijonosta ensin seuraavan palasen merkki-parametriin saakka ja sitten ottaa tästä palasta kokonaisluvun
static String erotaEx(StringBuilder jono, char merkki, String oletus)
          Erottaa jonosta valitun merkin kohdalta alkuosan ja loppuosan.
static int erotaInt(StringBuffer jono, int oletus)
          Ottaa merkkijonosta seuraavan kokonaisluvun
static int erotaInt(StringBuffer jono, int oletus, String numerot)
          Ottaa merkkijonosta seuraavan kokonaisluvun
static int erotaInt(StringBuilder jono, int oletus)
          Ottaa merkkijonosta seuraavan kokonaisluvun
static int erotaInt(StringBuilder jono, int oletus, String numerot)
          Ottaa merkkijonosta seuraavan kokonaisluvun
static int erotaInt(String jono, int oletus)
          Ottaa merkkijonosta seuraavan kokonaisluvun
static String fmt(double d, int len, int desim)
          Muotoilee reaaliluvun len kokoiseen tilaan.
static String fmt(int n, int len)
          Muotoilee kokonaisluvun len kokoiseen tilaan.
static String fmt(int n, int len, char fillch)
          Muotoilee kokonaisluvun len kokoiseen tilaan.
static String fmt(StringBuffer s, int len)
          Palauttaa jonon s muotoiltuna vähintään len-pituiseksi
static String fmt(StringBuilder s, int len)
          Palauttaa jonon s muotoiltuna vähintään len-pituiseksi
static String fmt(String s, int len)
          Palauttaa jonon s muotoiltuna vähintään len-pituiseksi Esim: fmt("2",3) => " 2" fmt("2",-3) => "2 "
static String fmt(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 String poista_2_tyhjat(String s)
          Poistetaan jonosta kaikki kaksin- tai useampikertaiset tyhjät.
static StringBuffer poista_2_tyhjat(StringBuffer s)
          Poistetaan jonosta kaikki kaksin- tai useampikertaiset tyhjät.
static StringBuilder poista_2_tyhjat(StringBuilder s)
          Poistetaan jonosta kaikki kaksin- tai useampikertaiset tyhjät.
static String tayta(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 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 String NUMEROT
Tunnetut numeromerkit

See Also:
Constant Field Values

DESIMAALI

public static final char DESIMAALI
Käytetty desimaalisymboli

See Also:
Constant Field Values

ETUMERKKI

public static final char ETUMERKKI
Käytetty desimaalisymboli

See Also:
Constant Field Values

DOUBLEMERKIT

public static final String DOUBLEMERKIT
Tunnetut reaaliluvun merkit

See Also:
Constant Field Values

INTMERKIT

public static final String INTMERKIT
Tunnetut kokonaisluvun merkit

See Also:
Constant Field Values
Constructor Detail

Mjonot

public Mjonot()
Method Detail

tayta

public static String tayta(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
Example:
 tayta($jono,$n) === $tulos
 
    $jono   | $n | $tulos
  -------------------------------
    "kissa" |  3 | "kissakissakissa"
    ""      | 10 | ""
    "kissa" |  0 | ""     
    "kissa" |  1 | "kissa"
    "a"     | 10 | "aaaaaaaaaa"     
 

tyhja

public static 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ä
Example:
 tyhja(0) === ""
 tyhja(1) === " "
 tyhja(2) === "  "
 tyhja(10) === "          ";
 tyhja(1000).length() === 1000; 
 

fmt

public static String fmt(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
Example:
   fmt("",3,' ')     === "   "  
   fmt("",3,'0')     === "000"  
   fmt("2",3,'0')    === "002"  
   fmt("2",-3,' ')   === "2  "
   fmt("1234",3,'0') === "1234" 
 

fmt

public static String fmt(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
Example:
   fmt("2",3)    === "  2"  
   fmt("2",-3)   === "2  "
   fmt("1234",3) === "1234" 
 

fmt

public static String fmt(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)
Example:
   fmt(new StringBuffer("12"),3) === " 12"
 

fmt

public static String fmt(StringBuilder 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)
Example:
   fmt(new StringBuilder("12"),3) === " 12"
 

fmt

public static 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)
Example:
   fmt(2,3)    === "  2"  
   fmt(2,-3)   === "2  "
   fmt(1234,3) === "1234" 
 

fmt

public static 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)
Example:
   fmt(2,3,'0')    === "002"  
   fmt(2,-3,'0')   === "200"
   fmt(2,-3,' ')   === "2  "
   fmt(1234,3,'0') === "1234"
   fmt(12,4,'0')   === "0012"  
   fmt(12,-4,' ')  === "12  " 
 

fmt

public static 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)
Example:
   fmt(12.3,6,2)  === " 12.30"  
   fmt(12.3,-6,2) === "12.30 "
   fmt(2.0,-6,2)  === "2.00  "
   fmt(1234,6,0)  === "  1234"
   fmt(12,-4,0)   === "12  " 
   fmt(12.1,-4,0) === "12  " 
 

poista_2_tyhjat

public static StringBuffer poista_2_tyhjat(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
Example:
   StringBuffer sb = new StringBuffer("   kissa     istuu   ");
   poista_2_tyhjat(sb).toString() === " kissa istuu ";
   poista_2_tyhjat((StringBuffer)null).toString() === "";
 

poista_2_tyhjat

public static StringBuilder poista_2_tyhjat(StringBuilder 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
Example:
   StringBuilder sb = new StringBuilder("   kissa     istuu   ");
   poista_2_tyhjat(sb).toString() === " kissa istuu ";
   poista_2_tyhjat((StringBuilder)null).toString() === "";
 

poista_2_tyhjat

public static String poista_2_tyhjat(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
Example:
 poista_2_tyhjat("   kissa     istuu   ") === " kissa istuu "  
 poista_2_tyhjat("") === ""  
 poista_2_tyhjat("   ") === " "  
 poista_2_tyhjat((String)null) === "";
 

erota

public static String erota(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
Example:
   StringBuffer jono= new StringBuffer("123 456"); String s;
   s = erota(jono); jono.toString() === "456"; s === "123";
 
   jono = new StringBuffer($jono1); 
   s = erota(jono,$merkki,$suunta);
   jono.toString() === $jono2; s === $s;
   
   $jono1     | $merkki | $suunta | $jono2   | $s
   ---------------------------------------------------
   "123"      | ' '     | false   | ""       | "123"
   ---        | ' '     | false   | ""       | ""
   ---        | ' '     | false   | ""       | ""
   "123 456"  | ' '     | false   | "456"    | "123"
   ---        | ' '     | false   | ""       | "456"
   ---        | ' '     | false   | ""       | ""
   "12 34 6"  | ' '     | false   | "34 6"   | "12"   
   ---        | ' '     | false   | "6"      | "34"
   ---        | ' '     | false   | ""       | "6"
   ---        | ' '     | false   | ""       | ""
   "12 34 6"  | ' '     | true    | "6"      | "12 34"
   ---        | ' '     | true    | ""       | "6"
   ---        | ' '     | true    | ""       | ""
 
   erota((StringBuffer)null,' ',false) === "";
 

erota

public static String erota(StringBuilder 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
Example:
   StringBuilder jono= new StringBuilder("123 456"); String s;
   s = erota(jono); jono.toString() === "456"; s === "123";
 
   jono = new StringBuilder($jono1); 
   s = erota(jono,$merkki,$suunta);
   jono.toString() === $jono2; s === $s;
   
   $jono1     | $merkki | $suunta | $jono2   | $s
   ---------------------------------------------------
   "123"      | ' '     | false   | ""       | "123"
   ---        | ' '     | false   | ""       | ""
   ---        | ' '     | false   | ""       | ""
   "123 456"  | ' '     | false   | "456"    | "123"
   ---        | ' '     | false   | ""       | "456"
   ---        | ' '     | false   | ""       | ""
   "12 34 6"  | ' '     | false   | "34 6"   | "12"   
   ---        | ' '     | false   | "6"      | "34"
   ---        | ' '     | false   | ""       | "6"
   ---        | ' '     | false   | ""       | ""
   "12 34 6"  | ' '     | true    | "6"      | "12 34"
   ---        | ' '     | true    | ""       | "6"
   ---        | ' '     | true    | ""       | ""
 
   erota((StringBuilder)null,' ',false) === "";
 

erota

public static String erota(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
Example:
   StringBuffer jono= new StringBuffer("123 456"); String s;
   s = erota(jono,' '); jono.toString() === "456"; s === "123";
 

erota

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

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

erota

public static String erota(StringBuilder 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
Example:
   StringBuilder jono= new StringBuilder("123 456"); String s;
   s = erota(jono,' '); jono.toString() === "456"; s === "123";
 

erota

public static String erota(StringBuilder 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(StringBuffer jono,
                                 double oletus,
                                 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
Example:
   StringBuffer jono;
   jono = new StringBuffer($jono1); erotaDouble(jono,0) ~~~ $d; jono.toString() === $jono2;
   
    $jono1    |  $d   | $jono2
  ----------------------------------
  " 12.34 km" | 12.34 | " km" 
  "12k34 km"  | 12    | "k34 km"
  "k12.34 km" | 0     | "k12.34 km"
  "1.2 3.4"   | 1.2   | " 3.4"
   ---        | 3.4   | ""
  "-1.2 -3.4" | -1.2  | " -3.4"
   ---        | -3.4  | ""
  "-1-2 -3.4" | -1    | "-2 -3.4"
   ---        | -2    | " -3.4"
  ".2"        | 0.2   | ""
  "-.2"       | -0.2  | ""
  ".-2"       | 0.0   | "-2"
  "- 2"       | 0.0   | " 2"
  ""          | 0     | ""

   jono = new StringBuffer("2112233451232"); 
   erotaDouble(jono,0,"123") ~~~ 2112233.0; 
   erotaDouble(jono,0,null) ~~~ 451232.0; 
   erotaDouble((StringBuffer)null,0,null) ~~~ 0.0; 
   
 

erotaDouble

public static double erotaDouble(StringBuilder jono,
                                 double oletus,
                                 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
Example:
   StringBuilder jono;
   jono = new StringBuilder($jono1); erotaDouble(jono,0) ~~~ $d; jono.toString() === $jono2;
   
    $jono1    |  $d   | $jono2
  ----------------------------------
  " 12.34 km" | 12.34 | " km" 
  "12k34 km"  | 12    | "k34 km"
  "k12.34 km" | 0     | "k12.34 km"
  "1.2 3.4"   | 1.2   | " 3.4"
   ---        | 3.4   | ""
  "-1.2 -3.4" | -1.2  | " -3.4"
   ---        | -3.4  | ""
  "-1-2 -3.4" | -1    | "-2 -3.4"
   ---        | -2    | " -3.4"
  ".2"        | 0.2   | ""
  "-.2"       | -0.2  | ""
  ".-2"       | 0.0   | "-2"
  "- 2"       | 0.0   | " 2"
  ""          | 0     | ""

   jono = new StringBuilder("2112233451232"); 
   erotaDouble(jono,0,"123") ~~~ 2112233.0; 
   erotaDouble(jono,0,null) ~~~ 451232.0; 
   erotaDouble((StringBuilder)null,0,"123") ~~~ 0.0; 
   
 

erotaDouble

public static double erotaDouble(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)
Example:
   StringBuffer jono;
   jono = new StringBuffer(" 12.34 km"); erotaDouble(jono,0) ~~~ 12.34; jono.toString() === " km"; 
   jono = new StringBuffer(" 12k34 km"); erotaDouble(jono,0) ~~~ 12.00; jono.toString() === "k34 km"; 
   jono = new StringBuffer("k12.34 km"); erotaDouble(jono,0) ~~~  0.0;  jono.toString() === "k12.34 km"; 
 

erotaDouble

public static double erotaDouble(StringBuilder 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(StringBuilder jono, double oletus, String numerot)
Example:
   StringBuilder jono;
   jono = new StringBuilder(" 12.34 km"); erotaDouble(jono,0) ~~~ 12.34; jono.toString() === " km"; 
   jono = new StringBuilder(" 12k34 km"); erotaDouble(jono,0) ~~~ 12.00; jono.toString() === "k34 km"; 
   jono = new StringBuilder("k12.34 km"); erotaDouble(jono,0) ~~~  0.0;  jono.toString() === "k12.34 km"; 
 

erotaInt

public static int erotaInt(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)
Example:
   StringBuffer jono;
   jono = new StringBuffer($jono1); erotaInt(jono,0) === $i; jono.toString() === $jono2;
   
    $jono1    |  $i   | $jono2
  ----------------------------------
  " 12.34 km" | 12    | ".34 km" 
  "12k34 km"  | 12    | "k34 km"
  "k12.34 km" | 0     | "k12.34 km"
  "1.2 3.4"   | 1     | ".2 3.4"
   ---        | 0     | ".2 3.4"
  ""          | 0     | ""
  " 1 2 3 "   | 1     | " 2 3 "
  ---         | 2     | " 3 "
  ---         | 3     | " "
  ---         | 0     | ""
  " -1 -2 3 " | -1    | " -2 3 "
  ---         | -2    | " 3 "
  ---         | 3     | " "

   jono = new StringBuffer("2112233451232"); 
   erotaInt(jono,0,"123") === 2112233; 
 

erotaInt

public static int erotaInt(StringBuilder 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)
Example:
   StringBuilder jono;
   jono = new StringBuilder($jono1); erotaInt(jono,0) === $i; jono.toString() === $jono2;
   
    $jono1    |  $i   | $jono2
  ----------------------------------
  " 12.34 km" | 12    | ".34 km" 
  "12k34 km"  | 12    | "k34 km"
  "k12.34 km" | 0     | "k12.34 km"
  "1.2 3.4"   | 1     | ".2 3.4"
   ---        | 0     | ".2 3.4"
  ""          | 0     | ""
  " 1 2 3 "   | 1     | " 2 3 "
  ---         | 2     | " 3 "
  ---         | 3     | " "
  ---         | 0     | ""
  " -1 -2 3 " | -1    | " -2 3 "
  ---         | -2    | " 3 "
  ---         | 3     | " "

   jono = new StringBuilder("2112233451232"); 
   erotaInt(jono,0,"123") === 2112233; 
 

erotaInt

public static int erotaInt(StringBuffer jono,
                           int oletus,
                           String numerot)
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
numerot - numero jotka sallitaan lukuun
Returns:
otettu kokonaisluku
See Also:
erotaDouble(StringBuffer jono, double oletus, String numerot)
Example:
   StringBuffer jono;
   jono = new StringBuffer("211223345"); 
   erotaInt(jono,0,"123") === 2112233; 
 

erotaInt

public static int erotaInt(StringBuilder jono,
                           int oletus,
                           String numerot)
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
numerot - numero jotka sallitaan lukuun
Returns:
otettu kokonaisluku
See Also:
erotaDouble(StringBuilder jono, double oletus, String numerot)
Example:
   StringBuilder jono;
   jono = new StringBuilder("211223345"); 
   erotaInt(jono,0,"123") === 2112233; 
 

erotaDouble

public static double erotaDouble(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(StringBuilder jono, double oletus)
Example:
   erotaDouble(" 12.34 km",0) ~~~ 12.34;  
   erotaDouble(" 12k34 km",0) ~~~ 12.00;  
   erotaDouble("k12.34 km",0) ~~~  0.0;   
   erotaDouble((String)null,2) ~~~  2.0;   
 

erotaInt

public static int erotaInt(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:
erotaInt(StringBuilder jono, int oletus)
Example:
   erotaInt(" 123k",12)  === 123; 
   erotaInt(" k123k",12) === 12;
   erotaInt((String)null,2) === 2; 
 

erotaChar

public static char erotaChar(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
Example:
   StringBuffer jono;
   jono = new StringBuffer($jono1); erotaChar(jono,'!') === $c; jono.toString() === $jono2;
   
    $jono1    |  $c   | $jono2
  ----------------------------------
  " 12 "      | ' '   | "12 " 
   ---        | '1'   | "2 "
   ---        | '2'   | " "
   ---        | ' '   | ""
   ---        | '!'   | ""
    
  erotaChar((StringBuffer)null,'a') === 'a'  
 

erotaChar

public static char erotaChar(StringBuilder 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
Example:
   StringBuilder jono;
   jono = new StringBuilder($jono1); erotaChar(jono,'!') === $c; jono.toString() === $jono2;
   
    $jono1    |  $c   | $jono2
  ----------------------------------
  " 12 "      | ' '   | "12 " 
   ---        | '1'   | "2 "
   ---        | '2'   | " "
   ---        | ' '   | ""
   ---        | '!'   | ""
    
  erotaChar((StringBuilder)null,'a') === 'a'  
 

erota

public static String erota(StringBuffer jono,
                           char merkki,
                           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)
Example:
 // Testataan merkkijono erota-metodia
  StringBuffer jono = new StringBuffer(" Volvo    145 |  12300 e | 1 kpl");
  erota(jono,'|',"!") === "Volvo 145"; 
  erota(jono,'|',"!") === "12300 e";
  erota(jono,'|',"!") === "1 kpl";
  erota(jono,'|',"!") === "!";
  erota(jono,'|',null) === "";

 

erota

public static String erota(StringBuilder jono,
                           char merkki,
                           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(StringBuilder jono, char merkki, boolean etsitakaperin)
Example:
 // Testataan merkkijono erota-metodia
  StringBuilder jono = new StringBuilder(" Volvo    145 |  12300 e | 1 kpl");
  erota(jono,'|',"!") === "Volvo 145"; 
  erota(jono,'|',"!") === "12300 e";
  erota(jono,'|',"!") === "1 kpl";
  erota(jono,'|',"!") === "!";
  erota(jono,'|',null) === "";

 

erota

public static double erota(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)
Example:
   StringBuffer jono;
   jono = new StringBuffer("12.3,45"); erota(jono,',',9.0) ~~~ 12.3; erota(jono,',',9.0) ~~~ 45.0;
   jono = new StringBuffer("k,45");    erota(jono,',',9.0) ~~~ 9.0;  erota(jono,',',9.0) ~~~ 45.0;
 

erota

public static double erota(StringBuilder 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(StringBuilder jono, char merkki, String oletus)
Example:
   StringBuilder jono;
   jono = new StringBuilder("12.3,45"); erota(jono,',',9.0) ~~~ 12.3; erota(jono,',',9.0) ~~~ 45.0;
   jono = new StringBuilder("k,45");    erota(jono,',',9.0) ~~~ 9.0;  erota(jono,',',9.0) ~~~ 45.0;
 

erota

public static int erota(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)
Example:
 // Testataan polymorfista erota-metodia
  StringBuffer jono = new StringBuffer(" Volvo    145 |  12300 e | 1 kpl");
  String s=""; double d=0.0; int i=0;
  erota(jono,'|',s) === "Volvo 145"; 
  erota(jono,'|',d) ~~~ 12300.0;
  erota(jono,'|',i) === 1;
  erota(jono,'|',"a") === "a";
 

erota

public static int erota(StringBuilder 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(StringBuilder jono, char merkki, String oletus)
Example:
 // Testataan polymorfista erota-metodia
  StringBuilder jono = new StringBuilder(" Volvo    145 |  12300 e | 1 kpl");
  String s=""; double d=0.0; int i=0;
  erota(jono,'|',s) === "Volvo 145"; 
  erota(jono,'|',d) ~~~ 12300.0;
  erota(jono,'|',i) === 1;
  erota(jono,'|',"a") === "a";
 

erotaEx

public static String erotaEx(StringBuffer jono,
                             char merkki,
                             String oletus)
                      throws 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
See Also:
erota(StringBuffer jono, char merkki, boolean etsitakaperin)
Example:
   StringBuffer jono;
   jono = new StringBuffer($jono1); erotaEx(jono,' ',"!") === $s; jono.toString() === $jono2
   
    $jono1    |  $s     | $jono2
  ----------------------------------
  " 12.34 km" | "!"     | "12.34 km"
  ---         | "12.34" | "km"
  ---         | "km"    | ""
  ---         | ""      | ---    #THROWS NumberFormatException
  "Kissa"     | "Kissa" | ""       
  ---         | ""      | ---    #THROWS NumberFormatException  
  
  erotaEx(new StringBuffer(";"),';',null) === "";
 

erotaEx

public static String erotaEx(StringBuilder jono,
                             char merkki,
                             String oletus)
                      throws 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
See Also:
erota(StringBuilder jono, char merkki, boolean etsitakaperin)
Example:
   StringBuilder jono;
   jono = new StringBuilder($jono1); erotaEx(jono,' ',"!") === $s; jono.toString() === $jono2;
   
    $jono1    |  $s     | $jono2
  ----------------------------------
  " 12.34 km" | "!"     | "12.34 km"
  ---         | "12.34" | "km"
  ---         | "km"    | ""
  ---         | ""      | ---     #THROWS NumberFormatException
  "Kissa"     | "Kissa" | ""       
  ---         | ""      | ---     #THROWS NumberFormatException
    
  erotaEx(new StringBuilder(";"),';',null) === "";
 

erotaEx

public static double erotaEx(StringBuffer jono,
                             char merkki,
                             double oletus)
                      throws 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
See Also:
erotaEx(StringBuffer jono, char merkki, String oletus)
Example:
   StringBuffer jono=null;
   jono = new StringBuffer($jono1); erotaEx(jono,' ',3.14) ~~~ $d; jono.toString() === $jono2;
   
    $jono1    |  $d     | $jono2
  ----------------------------------
  " 12.34 km" | 0.0     | ---         #THROWS NumberFormatException  
  ---         | ---     | "12.34 km"
  ---         | 12.34   | "km"
  ---         | 0.0     | ---         #THROWS NumberFormatException
  ---         | ---     | ""
  ---         | 0.0     | ---         #THROWS NumberFormatException
  
   jono = new StringBuffer($jono1); erotaEx(jono,',',3.14) ~~~ $d; jono.toString() === $jono2;
   
    $jono1    |  $d     | $jono2
  ----------------------------------
  " 1.2, 3.4" | 1.2     | " 3.4" 
  ---         | 3.4     | ""
  ---         | 0.0     | ---         #THROWS NumberFormatException
  "1.2,k,3.4" | 1.2     | "k,3.4" 
  ---         | 0.0     | ---         #THROWS NumberFormatException
  ---         | ---     | "3.4"
  ---         | 3.4     | ""
 

erotaEx

public static double erotaEx(StringBuilder jono,
                             char merkki,
                             double oletus)
                      throws 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
See Also:
erotaEx(StringBuilder jono, char merkki, String oletus)
Example:
   StringBuilder jono=null;
   jono = new StringBuilder($jono1); erotaEx(jono,' ',3.14) ~~~ $d; jono.toString() === $jono2;
   
    $jono1    |  $d     | $jono2
  ----------------------------------
  " 12.34 km" | 0.0     | ---        #THROWS NumberFormatException 
  ---         | ---     | "12.34 km"
  ---         | 12.34   | "km"
  ---         | 0.0     | ---        #THROWS NumberFormatException
  ---         | ---     | ""
  ---         | 0.0     | ---        #THROWS NumberFormatException
  
   jono = new StringBuilder($jono1); erotaEx(jono,',',3.14) ~~~ $d; jono.toString() === $jono2;
   
    $jono1    |  $d     | $jono2
  ----------------------------------
  " 1.2, 3.4" | 1.2     | " 3.4" 
  ---         | 3.4     | ""
  ---         | 0.0     | ---      #THROWS NumberFormatException
  "1.2,k,3.4" | 1.2     | "k,3.4" 
  ---         | 0.0     | ---      #THROWS NumberFormatException
  ---         | ---     | "3.4"
  ---         | 3.4     | ""
 

erotaEx

public static int erotaEx(StringBuffer jono,
                          char merkki,
                          int oletus)
                   throws 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
See Also:
erotaEx(StringBuffer jono, char merkki, String oletus)
Example:
   StringBuffer jono=null;
   jono = new StringBuffer($jono1); erotaEx(jono,' ',314) === $i; jono.toString() === $jono2;
   
    $jono1    |  $i     | $jono2
  ----------------------------------
  " 12.34 km" | 0       | ---    #THROWS NumberFormatException 
  ---         | ---     | "12.34 km"
  ---         | 12      | "km"
  ---         | 0       | ---    #THROWS NumberFormatException
  ---         | 0       | ---    #THROWS NumberFormatException
  
   jono = new StringBuffer($jono1); erotaEx(jono,',',314) === $i; jono.toString() === $jono2;
   
    $jono1    |  $i     | $jono2
  ----------------------------------
  " 1.2, 3.4" | 1       | " 3.4" 
  ---         | 3       | ""
  ---         | 0       | ---        #THROWS NumberFormatException
  "1,2,3"     | 1       | "2,3"
  ---         | 2       | "3"
  ---         | 3       | ""
  ---         | 0       | ---        #THROWS NumberFormatException
  "1,k,3"     | 1       | "k,3"      
  ---         | 0       | ---        #THROWS NumberFormatException 
  ---         | ---     | "3"
  ---         | 3       | ""
  ---         | 0       | ---        #THROWS NumberFormatException
 

erotaEx

public static int erotaEx(StringBuilder jono,
                          char merkki,
                          int oletus)
                   throws 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
See Also:
erotaEx(StringBuilder jono, char merkki, String oletus)
Example:
   StringBuilder jono=null;
   jono = new StringBuilder($jono1); erotaEx(jono,' ',314) === $i; jono.toString() === $jono2;
   
    $jono1    |  $i     | $jono2
  ----------------------------------
  " 12.34 km" | 0       | ---        #THROWS NumberFormatException 
  ---         | ---     | "12.34 km"
  ---         | 12      | "km"
  ---         | 0       | ---        #THROWS NumberFormatException
  ---         | 0       | ---        #THROWS NumberFormatException
  
   jono = new StringBuilder($jono1); erotaEx(jono,',',314) === $i; jono.toString() === $jono2;
   
    $jono1    |  $i     | $jono2
  ----------------------------------
  " 1.2, 3.4" | 1       | " 3.4" 
  ---         | 3       | ""
  ---         | 0       | ---        #THROWS NumberFormatException
  "1,2,3"     | 1       | "2,3"
  ---         | 2       | "3"
  ---         | 3       | ""
  ---         | 0       | ---        #THROWS NumberFormatException
  "1,k,3"     | 1       | "k,3"      
  ---         | 0       | ---        #THROWS NumberFormatException 
  ---         | ---     | "3"
  ---         | 3       | ""
  ---         | 0       | ---        #THROWS NumberFormatException