Buscar palabras

Realiza un programa que permita la introducción de una cadena de caracteres y que permita decir en qué posición o posiciones se encuentra una segunda cadena entrada.

También deberá mostrar el total de palabras, letras y vocales de toda la frase. Los espacios en blanco no cuentan como ninguna letra.

ejemplo:

Introduce la cadena original: Hoy es el primer día del resto de tus dias
Introduce la cadena a buscar: día

La cadena día se encuentra en:
posición 18
posición 39

Número total de palabras: 10
Número total de letras: 33
Número total de vocales: 14

NOTAS IMPORTANTES PARA TODO EL EXAMEN:

  --- En relación a los cálculos y control de errores:

Redondeados a 3 decimales → DecimalFormat ("# 0.000")
Dentro de las posibilidades de tiempo en el examen hay que hacer un control de errores en los dos ejercicios, el cual se valorará.


  1.    import java.io.*;
  2.    import java.util.*;
  3.    import java.util.StringTokenizer;
  4.    import cs1.Keyboard;
  5.    
  6.    public class Cerca_Paraules  {
  7.       public static int NumPalabras ( String frase )    {
  8.          String word;
  9.          StringTokenizer tokenizer;
  10.          int wordCount=0;
  11.      
  12.          tokenizer = new StringTokenizer (frase);
  13.          while (tokenizer.hasMoreTokens())
  14.          {
  15.             word = tokenizer.nextToken();
  16.             if (word.length()<frase.length()) wordCount++;
  17.          }
  18.          return (wordCount);
  19.       }
  20.       public static int NumVocales ( String frase )     {
  21.          String word;
  22.          StringTokenizer tokenizer;
  23.          int wordCount=1;
  24.      
  25.          tokenizer = new StringTokenizer (frase, "AEIOUaeiouÁÉÍÓÚÜüÏïáéíóúÀÈÌÒÙàèìòù");
  26.          while (tokenizer.hasMoreTokens())
  27.          {
  28.             word = tokenizer.nextToken();
  29.             if (word.length()<frase.length()) wordCount++;
  30.          }
  31.          return (wordCount-1);
  32.       }
  33.    
  34.    
  35.       public static void cercar_token(String line, String palabra)
  36.       {
  37.          String word;
  38.          StringTokenizer tokenizer;
  39.          int wordCount=0, contador=0;
  40.          boolean blnexit=true;
  41.      
  42.          tokenizer = new StringTokenizer (line);
  43.          while (tokenizer.hasMoreTokens()&&blnexit==true)
  44.          {
  45.             word = tokenizer.nextToken();
  46.            
  47.             if (word.equals(palabra)){
  48.            
  49.                System.out.println("Posició: "+wordCount);
  50.            
  51.             }
  52.             wordCount=(wordCount+word.length())+1;
  53.          
  54.          }
  55.       }
  56.       public static int NumLetras ( String frase )      {
  57.          String word;
  58.          StringTokenizer tokenizer;
  59.          int wordCount=0;
  60.      
  61.          tokenizer = new StringTokenizer (frase);
  62.          while (tokenizer.hasMoreTokens())
  63.          {
  64.             word = tokenizer.nextToken();
  65.             if (word.length()<frase.length()) wordCount=wordCount+word.length();
  66.          }
  67.          return (wordCount);
  68.       }
  69.    
  70.       public static void main (String args [])
  71.       {
  72.          String frase, word;
  73.      
  74.          System.out.print("Entra una frase por teclado: ");
  75.          frase = Keyboard.readString();
  76.          System.out.print("Busca una palabra: "); word = Keyboard.readString();
  77.          cercar_token(frase,word);
  78.                  
  79.                  
  80.          System.out.println("El texto tiene "+NumPalabras(frase)+" palabras en total");
  81.          System.out.println("El texto tiene "+NumLetras(frase)+" letras");
  82.          System.out.println("El texto tiene "+NumVocales(frase)+" vocales");
  83.      
  84.        
  85.       }
  86.    }

No hay comentarios:

Publicar un comentario