Package fi.jyu.mit.ohj2
Class WildChars
- java.lang.Object
-
- fi.jyu.mit.ohj2.WildChars
-
public class WildChars extends java.lang.Object
Luokka wildmat-vertailuun, jossa jokereita ovat * ja ?- Version:
- 1.0, 23.03.2002
- Author:
- Vesa Lappalainen, Markku Vire
-
-
Constructor Summary
Constructors Constructor Description WildChars()
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static boolean
containsWildChars(java.lang.String str)
Palauttaa sisältääkö jono str jokerimekrkkejä * tai ?static boolean
onkoSamat(java.lang.String str, java.lang.String mask)
Testaa ovatko kaksi merkkijonoa samat maskin mielessä jos ne muutetaan isoille kirjaimille.static boolean
wildmat(java.lang.String str, java.lang.String mask)
Funktiolla tutkitaan täsmääkö annettu jono verrattavaan maskiin.
-
-
-
Constructor Detail
-
WildChars
public WildChars()
-
-
Method Detail
-
containsWildChars
public static boolean containsWildChars(java.lang.String str)
Palauttaa sisältääkö jono str jokerimekrkkejä * tai ?- Parameters:
str
- jono jota tutkitaan- Returns:
- sisältääkö jono (true) jokerimerkkejä vai ei (false)
- Example:
containsWildChars(null) === false; containsWildChars("*") === true; containsWildChars("?") === true; containsWildChars("a*b?c") === true;
-
wildmat
public static boolean wildmat(java.lang.String str, java.lang.String mask)
Funktiolla tutkitaan täsmääkö annettu jono verrattavaan maskiin. Maski saa sisältää seuraavia erikoismerkkejä: * vastaa 0-n merkkiä ? vastaa mitä tahansa yhtä merkkiä Algoritmi: Kysymysmerkki ja tavallinen kirjain normaalisti Jos tulee vastaan tähti joka ei ole jonon lopussa, niin ongelmahan on oikeastaan (koska tähän asti kaikki on ollut oikein) "Onko loppujono sama kuin toisen jonon loppu JOSTAKIN kohdasta alkaen"? Siis kokeillaan sovittaa loppujonoa aliohjelman itsensä (rekursio) avulla kaikkiin mahdollisiin loppupaikkoihin. Esimerkki: str = "Kissa" maski = "*ss*" -> true = "*ss" -> false
- Parameters:
str
- jono jota tutkitaanmask
- maski johon verrataan- Returns:
- onko samat (true) vai ei (false) maskin mielessä.
- Example:
wildmat("kissa","kissa") === true; wildmat("kissa","kiss*") === true; wildmat("kissa","kss*") === false; wildmat("kissa","k*ss*") === true; wildmat("kissa","k***********ss*") === true; wildmat("kissa","*iss*") === true; wildmat("kissa","*kiss*") === true; wildmat("kissa","*kissa*") === true; wildmat("kissa","*k?ss*") === true; wildmat("kissa","kass*") === false; wildmat("","*a") === false; wildmat("","*") === true; wildmat("","") === true; wildmat("a","") === false; wildmat("kissa","KISSA") === false; wildmat("k","k?") === false; wildmat(null,null) === true; wildmat("",null) === false; wildmat(null,"") === false;
-
onkoSamat
public static boolean onkoSamat(java.lang.String str, java.lang.String mask)
Testaa ovatko kaksi merkkijonoa samat maskin mielessä jos ne muutetaan isoille kirjaimille.- Parameters:
str
- tutkittava jonomask
- maski- Returns:
- true jos samat
- Example:
onkoSamat("kissa","KISSA") === true; onkoSamat("KISSA","kissa") === true; onkoSamat("kissa","kiss") === false; onkoSamat("KISSA","ki*") === true;
-
-