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?
se io lo testo con il main: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; }
mi stampa l'errore: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);
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)

Rispondi quotando