Mostrando entradas con la etiqueta Buscar palabras. Mostrar todas las entradas
Mostrando entradas con la etiqueta Buscar palabras. Mostrar todas las entradas

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.    }