90 likes | 247 Views
Sõnetöötlus. 7. loeng. S õne. klass String Java APIst String str = "abc"; char data[] = {'a', 'b', 'c'}; String str = new String(data); String str = new String("abc"); on konstandid, väärtust ei saa peale loomist muuta
E N D
Sõnetöötlus 7. loeng
Sõne • klass String Java APIst • String str = "abc"; • char data[] = {'a', 'b', 'c'}; String str = new String(data); • String str = new String("abc"); • on konstandid, väärtust ei saa peale loomist muuta • Meetodid sisalduvate märkide uurimiseks, sõnede võrdlemiseks, alamsõnede otsimiseks ja eraldamiseks, suurtähelise ja väiketähelise koopia loomiseks.
Meetodeid • charAt(int) • compareTo(String) • compareToIgnoreCase(String) • endsWith(String) • equals(Object) • equalsIgnoreCase(String) • indexOf • lastIndexOf • length() • replace TAGASTAB UUE SÕNE • split • startsWith(String) • substring • toLowerCase() TAGASTAB UUE SÕNE • toUpperCase() TAGASTAB UUE SÕNE • trim() TAGASTAB UUE SÕNE • valueOf
Meetodite rakendamine • char märk = str.charAt(2); • String suur = str.toUpperCase(); • String c = "abc".substring(2,3)+ "a";
Sõnejärjend public static void main (String[] arg)
split • public String[] split(String regex) • String[] a = str.split(" "); • String[] a = str.split("[d ]");
StringBuffer, StringTokenizer • dünaamilise sõne jaoks • leksiliselt analüüsitava sõne jaoks
Vana eksamiülesanne Luua tekstiredaktoriga fail sonad.txt, mille igas reas on üks sõna, näiteks berta anna dora umberto tere Failis ei esine kahte sama algustähega sõna. Kirjutada programm, mis loeb käsurealt sõna ja kirjutab selle ekraanile kahel viisil. Kõigepealt nii nagu sõna käsureale kirjutati ning seejärel nii, et selle sõna kõik tähed asendatakse vastavalt esitähele failist sonad.txt võetud sõnadega, ühendades need sidekriipsudega. Kui vastavat sõna failis pole, siis kirjutatakse selle asemel kolm küsimärki. Suuri ja väikesi tähti ei eristata. Näide Kui käsurealt antakse ette sõna Tartu, siis väljastatakse ekraanile Sonast Tartu saadakse tere-anna-???-tere-umberto Programmi võib kirjutada klassina, mis sisaldab ainult peameetodit. Peameetod peab ühtlasi ekraanile väljastama ka autori nime ja matriklinumbri.
Teine vana eksamiülesanne Luua tekstiredaktoriga fail avaldised.txt, mille igas reas on üks eesti keeles kirjutatud aritmeetiline avaldis, näiteks kaks pluss seitse miinus kolm neli miinus üks pluss kuus pluss üheksa Avaldistes on ainult ühekohalised positiivsed arvud (1—9) ja tehtemärkidest ainult pluss ja miinus. Kirjutada programm, mis võtab failist avaldised.txt avaldised, arvutab nende väärtused ning kirjutab vastused arvudena faili vastused.txt. Näide Ülaltoodud avaldiste puhul kirjutatakse faili vastused.txt read 6 18 Programmi võib kirjutada klassina, mis sisaldab ainult peameetodit. Peameetod peab ühtlasi ekraanile väljastama ka autori nime ja matriklinumbri.