EJERCICIOS RESUELTOS
1. Leer una frase y
encontrar la palabra de mayor longitud. El programa debe imprimir la palabra
como el número de caracteres de la misma
SOLUCIÓN:
import
java.io.BufferedReader;
import java.io.IOException;
import
java.io.InputStreamReader;
public class Ejerc12 {
public
static void main(String[] args) throws IOException{
BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
int i, c=0;
String cadena, palabra="", mostrar = null;
System.out.println("Ingrese la cadena: ");
cadena=br.readLine();
cadena+=" ";
for(i=0;i<cadena.length();i++){
palabra=palabra+cadena.charAt(i);
if(cadena.charAt(i)==' '){
if(palabra.length()-1>c){
c=palabra.length()-1;
mostrar=palabra.trim();
}
palabra="";
}
}
System.out.println("La palabra de mayor longitud es: "+mostrar);
System.out.println("Su longitud es: "+c);
}
}
2. Ingresar una
cadena y determinar cuantas palabras se encuentran en la cadena. Cada
palabra se separa por medio de un espacio en blanco.
SOLUCIÓN:
import
java.io.BufferedReader;
import java.io.IOException;
import
java.io.InputStreamReader;
public class Ejerc11 {
public
static void main(String[] args) throws IOException{
BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
int i, con=1;
String cadena, palabra="";
System.out.println("Ingrese la cadena a evaluar: ");
cadena=br.readLine();
for(i=0;i<cadena.length();i++){
if(cadena.charAt(i)==' '){
con++;
}
}
System.out.println("La cadena contiene "+con+"
palabras");
}
}
3. Ingresar un
número telefónico en formato de cadena y luego lo convierta de la siguiente
manera:
Número
Telefónico: 5256284000
Nueva Cadena: (52)-5-6284000
SOLUCIÓN:
import
java.io.BufferedReader;
import java.io.IOException;
import
java.io.InputStreamReader;
public class Ejerc15 {
public
static void main(String[] args) throws IOException{
BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
int i;
String cadena,c1="", c2="", c3="";
System.out.println("Ingrese la cadena a evaluar: ");
cadena=br.readLine();
for(i=0;i<cadena.length();i++){
if(i<2){
c1=c1+cadena.charAt(i);
}
else{
if(i==2){
c2+=cadena.charAt(i);
}
else{
c3+=cadena.charAt(i);
}
}
}
System.out.println("la nueva cadena es:
\n"+"("+c1+")"+"-"+c2+"-"+c3);
}
}
4. Hacer un
programa que al recibir como datos dos cadenas de caracteres forme una tercera
cadena intercalando los caracteres de las palabras de las cadenas recibidas.
SOLUCIÓN:
import
java.io.BufferedReader;
import java.io.IOException;
import
java.io.InputStreamReader;
public class Ejerc16 {
public
static void main(String[] args) throws IOException{
BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
int i, j, k=0;
String cadena1, cadena2,
cadena3="";
System.out.println("Ingrese la primera cadena: ");
cadena1=br.readLine();
System.out.println("Ingrese la segudna cadena: ");
cadena2=br.readLine();
for(i=0;i<cadena1.length();i++){
cadena3+=cadena1.charAt(i);
for(j=k;j<cadena2.length();j++){
cadena3+=cadena2.charAt(j);
j=cadena2.length();
k++;
}
}
System.out.println("La cadena intercalada es: "+cadena3);
}
}
5. Ingrese
un texto e indique que letras no han aparecido en el texto.
SOLUCIÓN:
import
java.io.BufferedReader;
import java.io.IOException;
import
java.io.InputStreamReader;
public class Ejerc20 {
public
static void main(String[] args) throws IOException{
BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
int ini, con=0;
String texto, nueva="", mensaje="";
System.out.println("Ingrese el texto a evaluar: ");
texto=br.readLine();
for(ini=0;ini<texto.length();ini++){
if(texto.charAt(ini)!=' '){
nueva=nueva+texto.charAt(ini);
}
}
nueva=nueva.toLowerCase();
for(char caracter='a';caracter<='z';caracter++){
for(ini=0;ini<nueva.length();ini++){
if(caracter==nueva.charAt(ini)){
con++;
}
}
if(con==0){
mensaje+=caracter+" ";
}
con=0;
}
System.out.println("\nLos caracteres que faltan son: \n"+mensaje);
}
}
6. Ingrese un
texto e indique el porcentaje de palabras que tiene menos de 5 caracteres
y el porcentaje de palabras con 5 o más caracteres.
SOLUCIÓN:
import
java.io.BufferedReader;
import java.io.IOException;
import
java.io.InputStreamReader;
public class Ejerc21 {
public
static void main(String[] args) throws IOException{
BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
int i;
double porcentaje1, porcentaje2, con=0, p5=0, p6=0;
String texto, palabra="";
System.out.println("Ingrese el texto a evaluar: ");
texto=br.readLine();
texto=texto+" ";
for(i=0;i<texto.length();i++){
palabra+=texto.charAt(i);
if(texto.charAt(i)==' '){
palabra=palabra.trim();
if(palabra.length()<5){
p5++;
}
else{
p6++;
}
palabra="";
con++;
}
}
porcentaje1=(double)((p5/con)*100);
porcentaje2=(double)((p6/con)*100);
System.out.println("El porcentaje de palabras con menos de 5 caracteres
es: "+porcentaje1+" %");
System.out.println("El porcentaje de palabras con 5 o mas caracteres es:
"+porcentaje2+" %");
}
}
7. Escriba un
programa que lea una frase y a continuación visualice cada palabra de la frase
en columnas, seguida del número de letras que tiene cada palabra.
SOLUCIÓN:
import
java.io.BufferedReader;
import java.io.IOException;
import
java.io.InputStreamReader;
public class Ejerc23 {
public
static void main(String[] args) throws IOException{
BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
int i, j;
String frase, palabra="", nueva="";
System.out.println("Ingrese la frase a evaluar: ");
frase=br.readLine();
frase+=" ";
for(i=0;i<frase.length();i++){
palabra+=frase.charAt(i);
if(frase.charAt(i)==' '){
palabra=palabra.trim();
nueva=palabra;
for(j=0;j<nueva.length();j++){
System.out.println("\t"+nueva.charAt(j));
}
System.out.println("\t"+nueva.length()+"\n\n");
palabra="";
}
}
}
}
8. Escriba un
programa que calcule la frecuencia de aparición de las vocales de un texto
porcionado por el usuario. Esta solución se debe presentar en forma de
histograma, por ejmplo:
a 15 ***************
e 8 ********
SOLUCIÓN:
import
java.io.BufferedReader;
import java.io.IOException;
import
java.io.InputStreamReader;
public class Ejerc24 {
public
static void main(String[] args) throws IOException{
BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
int i, c1=0, c2=0,c3=0, c4=0, c5=0;
String texto, m1="", m2="", m3="",
m4="", m5="";
System.out.println("Ingrese el texto a evaluar: ");
texto=br.readLine();
texto=texto.toLowerCase();
for(i=0;i<texto.length();i++){
if(texto.charAt(i)=='a'){
c1++;
m1+="*";
}
if(texto.charAt(i)=='e'){
c2++;
m2+="*";
}
if(texto.charAt(i)=='i'){
c3++;
m3+="*";
}
if(texto.charAt(i)=='o'){
c4++;
m4+="*";
}
if(texto.charAt(i)=='u'){
c5++;
m5+="*";
}
}
System.out.println("");
System.out.println("a"+"
"+c1+" "+m1);
System.out.println("e"+"
"+c2+" "+m2);
System.out.println("i"+"
"+c3+" "+m3);
System.out.println("o"+"
"+c4+" "+m4);
System.out.println("u"+"
"+c5+" "+m5);
}
}
9. Escribir
un programa que cuente el número de palabras en un texto, que tengan al menos
cuatro vocales diferentes.
a) Todo mensaje debe estar sus letras en mayúsculas.
b) Reemplazar cada letra por la que sigue según abecedario, excepto Z que se deberá reemplazar con la letra A.
c) reemplazar cada dígito encontrado por el siguiente numero excepto el 9 que deberá ser reemplazado por el 0.
SOLUCIÓN:
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class Ejerc25 {
public static void main(String[] args) throws IOException{
BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
int i, con=0, c1=0, c2=0, c3=0, c4=0, c5=0, vocales;
String texto, palabra="";
System.out.println("Ingrese la palabra a evaluar: ");
texto=br.readLine();
texto=texto.toLowerCase();
texto+=" ";
for(i=0;i<texto.length();i++){
palabra+=texto.charAt(i);
if(texto.charAt(i)==' '){
palabra=palabra.trim();
for(int j=0;j<palabra.length();j++){
if(palabra.charAt(j)=='a'){
c1++;
if(c1>1){
c1=1;
}
}
if(palabra.charAt(j)=='e'){
c2++;
if(c2>1){
c2=1;
}
}
if(palabra.charAt(j)=='i'){
c3++;
if(c3>1){
c3=1;
}
}
if(palabra.charAt(j)=='o'){
c4++;
if(c4>1){
c4=1;
}
}
if(palabra.charAt(j)=='u'){
c5++;
if(c5>1){
c5=1;
}
}
}
palabra="";
vocales=c1+c2+c3+c4+c5;
c1=0; c2=0; c3=0; c4=0; c5=0;
if(vocales>=4){
con++;
}
}
}
System.out.println("Las palabras son: "+con);
}
}
10. Un grupo de inteligencia militar desea codificar los mensajes secretos de tal forma que no puedan ser interpretados con una lectura directa, para lo cual han establecido las siguientes reglas:a) Todo mensaje debe estar sus letras en mayúsculas.
b) Reemplazar cada letra por la que sigue según abecedario, excepto Z que se deberá reemplazar con la letra A.
c) reemplazar cada dígito encontrado por el siguiente numero excepto el 9 que deberá ser reemplazado por el 0.
SOLUCIÓN:
import
java.io.BufferedReader;
import
java.io.IOException;
import
java.io.InputStreamReader;
public
class mensajemilitar {
public static void main(String[] args)
throws IOException{
BufferedReader br=new
BufferedReader(new InputStreamReader(System.in));
String mensaje,
cod1="",cod2="", caracter;
String
ABC="ABCDEFGHIJKLMNOPQRSTUVWXYZ";
String numeros="0123456789";
System.out.println("Ingrese el
mensaje: ");
mensaje=br.readLine();
System.out.println(""+mensaje);
mensaje=mensaje.toUpperCase();
for (int i = 0; i <
mensaje.length(); i++) {
caracter=mensaje.substring(i, i+1);
if(caracter.equals(" ")){
cod1=cod1+caracter;
}
else{
for (int j = 0; j <
ABC.length(); j++) {
if(caracter.equals(ABC.substring(j,j+1))){
if(caracter.equals("Z")){
cod1=cod1+"A";
break;
}
else{
cod1=cod1+ABC.substring(j+1,j+2);
break;
}
}
}
for (int k = 0; k
<numeros.length(); k++) {
if(caracter.equals(numeros.substring(k,k+1))){
if(caracter.equals("9")){
cod1=cod1+"0";
break;
}
else{
cod1=cod1+numeros.substring(k+1,k+2);
break;
}
}
}
}
}
System.out.println("\nMENSAJE
INGRESADO: "+mensaje);
System.out.println("CODIGO
RESULTANTE "+cod1);
}
}
muy bueno
ResponderEliminarhola , buenas tardes porfavor ayudeme hacer este ejercicio
Eliminarno me sale este es el ejercicio;
9) Escriba un algoritmo que solicite 10 letras del alfabeto cualesquiera, de manera que nos muestre el número de vocales y el número de consonantes ingresadas.
Fue de bastante ayuda !!! excelente el ejercicio
ResponderEliminarel primer ejercicio solo cumple en algunos casos pero igual me sirvio
ResponderEliminarHola compañero prueba con este programa:
Eliminarimport java.util.*;
public class Ejercicio1
{
public static void main(String args [])
{
Scanner tec = new Scanner(System.in);
System.out.print("Escribe una frase: ");
String frase = tec.nextLine();
String pal = maxPal(frase);
System.out.println("La palabra mas latga es " + pal + " y tiene " + pal.length() + " caracteres.");
}
private static String maxPal(String frase)
{
String palMax = "";
String [] pal = frase.split(" +");
for(int i = 0; i < pal.length; i++)
if(pal[i].length() > palMax.length())
palMax = pal[i];
return palMax;
}
}
hola porfavor ayudeme con este ejercicio porfa es dificil:
Eliminar9) Escriba un algoritmo que solicite 10 letras del alfabeto cualesquiera, de manera que nos muestre el número de vocales y el número de consonantes ingresadas.
Hola necesito un Progrma que ala de cuando lo ejecute yo ingrese letras y me tire en numeros las letras y si ingreso numeros que el resultado me lo ingrese en letras..
ResponderEliminarhola quiero un programa que Crear un vector de tipo cadena que almacene 10 elementos e imprimir la palabra java seguido del número de elemento.
ResponderEliminargracias
hola quiero un programa que Crear un vector de tipo cadena que almacene 10 elementos e imprimir la palabra java seguido del número de elemento.
ResponderEliminargracias
Buen inicio para dominar las cadenas en Java. A cada ejercicio se aceleraba mas la programación.
ResponderEliminarPor favor alguien me podria ayudar con este ejercio:
ResponderEliminarConsidere el problema de formato de párrafo de texto para la impresión. El texto de entrada es una secuencia que consiste en las n palabras de longitud igual a L1, L2, ..., Ln (longitud de la palabra se mide en símbolos). Cuando se imprime un párrafo debe tener un formato elegante y colocado en varias líneas, cada una de las cuales se coloca sobre los caracteres M. Formulamos el criterio de formato "limpio". Si la cadena contiene las palabras de la i-ésima a la j-ésima y nos deja entre las palabras exactamente un espacio, el número restante de espacios igual a М – j + i - _𝑘=𝑖_𝑗_𝑙𝑘_, debe ser no negativo para todas las palabras caben en una línea. Queremos minimizar la cantidad de restos de cubo construidas en todas las líneas excepto la última. Formular un algoritmo basado en los principios de programación dinámicos, que muestra con precisión la sección de impresora se compone de n palabras. Analizar el tiempo de este algoritmo y de su funcionamiento requerido para la cantidad de memoria.
quiero un programa que acepte 5 cadenas que pueda tener hasta 100 caracteres cada una y proporcione cuantas beses se encuentra un carácter que alguien me ayude con este programa
ResponderEliminarEste comentario ha sido eliminado por el autor.
ResponderEliminar9) Escriba un algoritmo que solicite 10 letras del alfabeto cualesquiera, de manera que nos muestre el número de vocales y el número de consonantes ingresadas. ayudeme hacer este ejercicio
ResponderEliminarEsta bien
ResponderEliminarQuero una programa k me lo determine la cantidad de consonantes en un diagrama de flujo porfa
ResponderEliminardadas 3 cadenas
ResponderEliminarMostrar que cadena finalizan con la misma palabra
hola!me gustaria saber como hacer un programa que lea una cadena compuesta solo por letras y el espacio en blanco (verificarlo)
ResponderEliminarDefinir un proyecto de netbeans para resolver el siguiente problema. Utilizando la estructura de datos
ResponderEliminar“lista simplemente ligada” introducir objetos creados a partir de una clase Producto, en donde se represente un tipo
de inventario de una tienda de abarrotes, que tenga un método que permita mostrar los productos de un
determinado valor dentro de una rango de precios que se especificará dentro de la lista de parámetros del método.
programa que determine si una cadena es sub-cadena de otra cadena. Si la cadena de menor tamaño es una sub-cadena, entonces la función retorna 1, sino 0.
ResponderEliminar