import java.io.*; import java.util.StringTokenizer; //------------------------- public class protsent{ public static void main(String argumendid[]) throws IOException{ if(argumendid.length!=2){ //args[0]=faili_nimi, args[1]=sona System.out.println("Puudub failinimi väi sona voi molemad!"); System.exit(0);} String failinimi=new String(argumendid[0]); String sona=new String(argumendid[1]); String sb2=Tekstiabi.loeFail(failinimi); //faili sisu on nd StringBuffer'is sb2. String lausemassiiv[]= Tekstiabi.lauseteks(sb2); //paneb laused massiivi lausedmassiiv[] int arv=0; for(int i=0; i0){ kokku=kokku+1;} } System.out.println("Otsitud sona oli lauseläppudes :"+arv+" korda.") ; System.out.println("Säna "+ "(" +sona+ ") "+"oli failis"+ " suvalisel positsioonil :"+kokku+" lauses."); float v= Tekstiabi.arvuta(arv,kokku); System.out.println("Lause läpus esinemise sagedus "+v+"%"); // System.out.println("Vastus: "+vastus+"\n"); System.out.println("Lopp"); } } //-------------------- class Tekstiabi{ //arvutab static float arvuta(float arv1,float kokku1){ float kokku=kokku1; float vastus; float arv=arv1; vastus= 100*arv1/kokku1 ; return vastus; } //loeb tekstifaili u"heks pikaks so~neks static String loeFail(String failinimi) throws IOException{ StringBuffer sb=new StringBuffer(); //objekt tyypi StringBuffer nimega sb RandomAccessFile rf=new RandomAccessFile(failinimi, "r"); String rida=rf.readLine(); while(rida!=null){ sb.append(rida+" ");//lisa rida StringBuffer loppu rida=rf.readLine(); } int pikkus=sb.length(); sb.delete(pikkus-1, pikkus);//kustutab viimase tyhiku return new String(sb); //tagastab uue ilma tyhikuta sb } //muudab pika sona lausemassiiviks static String[] lauseteks(String s){ //saadame talle stringi StringTokenizer st=new StringTokenizer(s, ".?!", true); String laused[] = new String[st.countTokens()]; int koht=0; while(st.hasMoreTokens()){ laused[koht++]=st.nextToken(); } return laused; //tagastab kysijale lausemassiivi } //loendab, mitu sona on lauses static int loenda(String lause, String sona){ int nr=0, algkoht=0; while(algkoht=0){ //kui lauses leidub see sona mingil positsioonil nr++; algkoht=koht+sona.length();//suurendab sona esinemise arvu } else algkoht=lause.length(); } return nr; //valjastab kysijale kysitud sonade arvu lauses } }