|
||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectfi.jyu.mit.ohj2.WildChars
public class WildChars
Luokka wildmat-vertailuun, jossa jokereita ovat * ja ?
Constructor Summary | |
---|---|
WildChars()
|
Method Summary | |
---|---|
static boolean |
containsWildChars(String str)
Palauttaa sisältääkö jono str jokerimekrkkejä * tai ? |
static boolean |
onkoSamat(String str,
String mask)
Testaa ovatko kaksi merkkijonoa samat maskin mielessä jos ne muutetaan isoille kirjaimille. |
static boolean |
wildmat(String str,
String mask)
Funktiolla tutkitaan täsmääkö annettu jono verrattavaan maskiin. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
---|
public WildChars()
Method Detail |
---|
public static boolean containsWildChars(String str)
str
- jono jota tutkitaan
containsWildChars(null) === false; containsWildChars("*") === true; containsWildChars("?") === true; containsWildChars("a*b?c") === true;
public static boolean wildmat(String str, 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
str
- jono jota tutkitaanmask
- maski johon verrataan
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;
public static boolean onkoSamat(String str, String mask)
str
- tutkittava jonomask
- maski
onkoSamat("kissa","KISSA") === true; onkoSamat("KISSA","kissa") === true; onkoSamat("kissa","kiss") === false; onkoSamat("KISSA","ki*") === true;
|
||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |