sustantivo

. A medida que se elija cada palabra, concaténela con las palabras anteriores en el enunciado. Las palabras 

deberán separarse mediante espacios. Cuando se muestre el enunciado fi nal, deberá empezar con una letra mayúscula y 
terminar con un punto. El programa deberá generar 20 enunciados y mostrarlos en un área de texto.

30.6

El arreglo de artículos debe contener los artículos 

"el"

"un"

"algún"

 y 

"ningún"

; el arreglo de sustantivos 

deberá contener los sustantivos 

"ninio"

"ninia"

"perro"

"ciudad"

"auto"

; el arreglo de verbos deberá contener 

los verbos 

"manejo"

"salto"

"corrio"

"camino"

 y 

"omitio"

; el arreglo de preposiciones deberá contener las pre-

posiciones 

"a"

"desde"

"encima de"

"debajo de"

 y 

"sobre"

30.7

Una vez que escriba el programa anterior, modifíquelo para producir una historia breve que consista de varias 

de estas oraciones (¿qué hay sobre la posibilidad de un escritor de exámenes fi nales al azar?)

30.8

(

Quintillas) Una quintilla es un verso humorístico de cinco líneas en el cual la primera y segunda línea riman 

con la quinta, y la tercera línea rima con la cuarta. Utilizando técnicas similares a las desarrolladas en el ejercicio 30.5, 
escriba una aplicación en Java que produzca quintillas al azar. Mejorar el programa para producir buenas quintillas es 
un gran desafío, ¡pero el resultado valdrá la pena!

30.9

(Latín cerdo) Escriba una aplicación que codifi que frases en español a frases en latín cerdo. El latín cerdo es una 

forma de lenguaje codifi cado. Existen muchas variaciones en los métodos utilizados para formar frases en latín cerdo. 
Por cuestiones de simpleza, utilice el siguiente algoritmo:

Para formar una frase en latín cerdo a partir de una frase en español, divida la frase en palabras con un objeto de 

la clase 

StringTokenizer

. Para traducir cada palabra en español a una palabra en latín cerdo, coloque la primera letra 

de la palabra en español al fi nal de la palabra, y agregue las letras “ae”. De esta forma, la palabra “salta” se convierte a 
“altasae”, la palabra “el” se convierte en “leae” y la palabra “computadora” se convierte en “omputadoracae”. Los espacios 
en blanco entre las palabras permanecen como espacios en blanco. Suponga que la frase en español consiste en palabras 
separadas por espacios en blanco, que no hay signos de puntuación y que todas las palabras tienen dos o más letras. 
El método 

imprimirPalabraEnLatin

 deberá mostrar cada palabra. Cada token devuelto de 

nextToken

 se pasará al 

método 

imprimirPalabraEnLatin

 para imprimir la palabra en latín cerdo. Permita al usuario introducir el enunciado. 

Use un área de texto para ir mostrando cada uno de los enunciados convertidos.

30.10 

Escriba una aplicación que reciba como entrada un número telefónico como una cadena de la forma 

(555)

555-5555

. La aplicación deberá utilizar un objeto de la clase 

StringTokenizer

 para extraer el código de área como un 

token, los primeros tres dígitos del número telefónico como otro token y los últimos cuatro dígitos del número telefóni-
co como otro token. Los siete dígitos del número telefónico deberán concatenarse en una cadena. Deberán imprimirse 
tanto el código de área como el número telefónico. Recuerde que tendrá que modifi car los caracteres delimitadores al 
dividir la cadena en tokens.

30.11 

Escriba una aplicación que reciba como entrada una línea de texto, que divida la línea en tokens mediante un 

objeto de la clase 

StringTokenizer

 y que muestre los tokens en orden inverso. Use caracteres de espacio como delimi-

tadores.

30.12 

Use los métodos de comparación de cadenas que se describieron en este capítulo, junto con las técnicas para 

ordenar arreglos que se desarrollaron en el capítulo 16 para escribir una aplicación que ordene alfabéticamente una 
lista de cadenas. Permita al usuario introducir las cadenas en un campo de texto. Muestre los resultados en un área de 
texto.

30.13 

Escriba una aplicación que reciba como entrada una línea de texto y que la imprima dos veces; una vez en letras 

mayúsculas y otra en letras minúsculas.

30.14 

Escriba una aplicación que reciba como entrada una línea de texto y un carácter de búsqueda, y que utilice el 

método 

indexOf

 de la clase 

String

 para determinar el número de ocurrencias de ese carácter en el texto.

30.15 

Escriba una aplicación con base en el programa del ejercicio 30.14, que reciba como entrada una línea de texto 

y utilice el método 

indexOf

 de la clase 

String

 para determinar el número total de ocurrencias de cada letra del alfabe-

to en ese texto. Las letras mayúsculas y minúsculas deben contarse como una sola. Almacene los totales para cada letra 
en un arreglo, e imprima los valores en formato tabular después de que se hayan determinado los totales.

30.16 

Escriba una aplicación que lea una línea de texto, que divida la línea en tokens utilizando caracteres de espacio 

como delimitadores, y que imprima sólo aquellas palabras que comiencen con la letra 

"b"

.

30.17 

Escriba una aplicación que lea una línea de texto, que divida la línea en tokens utilizando caracteres de espacio 

como delimitadores, y que imprima sólo aquellas palabras que comiencen con las letras 

"ED"

.

Ejercicios

1335

30_MAQ_CAP_30_DEITEL.indd1335

5/8/084:22:49PM