Dudas de Programacion » Java » Java Básico

Palabras que mas se repiten en un texto txt

(2 posts)
  • Started 12 months ago by NAEDH
  • Latest reply from lineadecodigo
  1. buenas noches , usuarios del foro.
    Porfavor ayuda
    Deseo saber como hago que me imprima en el panel la palabra que más se repite, y a su vez que menos se repite
    Esta es la captura de pantalla en donde deberia sali el resultado
    despues de dar clip en el boton
    http://s3.subirimagenes.com:81/otros/previo/thump_6446135javaa.jpg
    y este es el codigo que tengo con el cual me sale el numero de palabaras de letras y la palabra mas corta y laraga
    lo que me hace falata es la palabara que mas se repite como la que menos se repite
    ayuda porfavor

     
       this.jTextField1.setText(AVISUALApp.titulo2);
            String texto=AVISUALApp.texto;
            int npalabras=0;
            int nletras=0;
            nletras=texto.length();
            StringTokenizer st = new StringTokenizer(texto);
            npalabras=st.countTokens();
            String palabra,maslarga,mayor;
            maslarga="";
            mayor="";
            while (st.hasMoreTokens())
    	 {
    		   palabra=st.nextToken();
                       if (palabra.length()>maslarga.length()) {
                                maslarga= palabra;
                             }
                       if (palabra.compareTo(mayor)>0) {
                           mayor= palabra;
                    }
    	}
            Map<String,Integer> palabrasYOcurrencias = new HashMap();
            while(st.hasMoreTokens()){
                palabra = st.nextToken();
                int ocurrencias = 1;
                if (palabrasYOcurrencias.containsKey(palabra)){
                    ocurrencias = palabrasYOcurrencias.get(palabra) +1;
                }
                palabrasYOcurrencias.put(palabra,ocurrencias);
            }
            int val1=palabrasYOcurrencias.size();
            //String masrepetida=palabrasYOcurrencias.
     
            this.jTextField2.setText(String.valueOf(npalabras));
            this.jTextField3.setText(String.valueOf(nletras));
            this.jTextField4.setText(maslarga);
            this.jTextField5.setText(mayor);
        }                                    
     
        /**
        * @param args the command line arguments
        */
        public static void main(String args[]) {
            java.awt.EventQueue.invokeLater(new Runnable() {
                public void run() {
                    new ESTADISTICAS().setVisible(true);
                }
            });
        }
    Posted 12 months ago #


  2. lineadecodigo
    Member

    @NAEDH,

    El código para encontrar la palabra más larga de una frase lo tienes en
    http://lineadecodigo.com/java/java-y-la-palabra-mas-larga-de-una-frase/

    Y para un contador de ocurrencias de una frase en
    http://lineadecodigo.com/java/contador-de-ocurrencias-en-java/

    Espero que puedan orientarte.

    Salu2,
    Linea de Código.
    http://lineadecodigo.com
    Posted 12 months ago #

Reply

You must log in to post.

1,070 posts in 437 topics over 40 months by 388 of 892 members. Latest: lalala, nijh1, jasu

Acerca de...

Dudas de Programación es una Web, dentro del proyecto aulambra.com que nace con la idea de propocionar un foro de consultas sobre diferentes temas de programación. Orientado a ayudar a los internautas hispano-hablantes en Internet.

Ir al Blog de Linea de Código

Otras Webs