Salve, devo sviluppare un metodo che ricerca una determinata frase all'interno di un testo molto più grande. Per esempi cerco la frase "andiamo a cenare" dentro una pagina di un libro. Ho sviluppato un metodo ma non è ottimale, potete consigliami come migliorarlo? o una metodo migliore?
codice:
public boolean cercaFrase(String testo,String frase){ 
  StringTokenizer parolaTesto=new StringTokenizer(testo);
  StringTokenizer parolaFrase=new StringTokenizer(frase);
  boolean stato=false;
  while(!stato||parolaTesto.hasMoreTokens()){
    if(parolaTesto==parolaFrase){
     parolaTesto.nextToken();
     parolaFrase.nextToken();
     if(!parolaFrase.hasMoreTokens())
      stato=true;
    }
    parolaTesto.nextToken();
    parolaFrase=new StringTokenizer(frase);
  } 
  return stato;
}
se io lo testo con il main:
codice:
String testo="Come è andata la serata la pizza era la serata era buona";
System.out.println(testo); 
String frase="la serata era"; 
System.out.println(frase); 
boolean t=cnt.cercaFrase(testo, frase); 
System.out.println(t);
mi stampa l'errore:
codice:
Come è andata la serata la pizza era la serata era buona 
la serata era 
Exception in thread "main" java.util.NoSuchElementException at java.util.StringTokenizer.nextToken(Unknown Source) at sviluppo.CercaNelTesto.cercaFrase(CercaNelTesto.java:22) at sviluppo.TestCercaNelTesto.main(TestCercaNelTesto.java:41)