Vous êtes sur la page 1sur 2

Pozdrav!

Poceo sam da radim na izdradi aplikacije za generisanje govora na bazi unetog


teksta za srpski jezik(TTS), i shodno tome prva stvar koja mi je potreba jeste
algoritam za rasclanjivanje unetih reci na slogove .
Napravio sam neki algoritam koji daje ok rezultate ali i dalje mislim da to nije to
. Zanima me da li neko ima uspesno resen ovaj problem i sta misli o samom
algoritmnu koji sam napisao i koji je jako prost....

package lang;

import java.util.ArrayList;

/**
*
* @author jkrne
*/
public class Word {

private String word;


private String result="";
public Word(String a)
{
this.word=a;
}

public String getAllSyllables()


{

ArrayList<Integer> syllablesLocations =new ArrayList<Integer>();


int syllablesCounter=0;
char c;
for (int j = 0; j<word.length(); j++) {
c=word.charAt(j);
result=result+c;
if((c=='a' || c=='A' || c=='e' || c=='E'|| c=='i' || c=='I' || c=='o' || c=='O' ||
c=='u' || c=='U'))
{
syllablesCounter=syllablesCounter+1;
syllablesLocations.add(j);
result=result+"-";
}

}
if(result.charAt(result.length()-1)=='-')
{
result=result.substring(0, result.length()-1);
}

if(result.charAt(result.length()-2)=='-')
{
result=result.substring(0, result.length()-2)+result.charAt(result.length()-1);
}
if(this.word.length()==3)
return this.word;
else
return result;

Algoritam se testira na sledeci nacin

public class Lang {

/**
* @param args the command line arguments
*/
public static void main(String[] args) {
String rec=JOptionPane.showInputDialog("Unesite rec za analizu");
String podeljeno="";

Word w= new Word(rec);


podeljeno= w.getAllSyllables();

System.out.println(podeljeno);

// TODO code application logic here


}

Vous aimerez peut-être aussi