1
C, C++, C#, Java, Visual Basic, HTML, PHP, CSS, Javascript, Ajax, Joomla, MySql y más / Java ejercicios resueltos lógica de las comparaciones método equals CU00662B
« en: 12 de Junio 2020, 14:09 »
Despues de varios dias dándole vueltas, repasando temas pasados y gracias a haber consultado los ejercicios de otros foreros, aquí dejo el ejercicio correspondiente al tema CU00662B del tutorial pdf de programación java de aprenderaprogramar.
Esto empieza a ponerse complicado, me da miedo seguir avanzando
Esto empieza a ponerse complicado, me da miedo seguir avanzando
Código: [Seleccionar]
import java.util.Scanner;//importa código clase Scanner
public class EntradaTeclado//clase EntradaTeclado
{
private String entradaTeclado; //Declaracion de campos de instancia de la clase
public EntradaTeclado (){//Constructor
entradaTeclado = "";
pedirEntrada();
}
public void pedirEntrada (){//método tipo procedimiento para pedir una entrada de teclado
Scanner sc1 = new Scanner (System.in);
entradaTeclado = sc1.nextLine();}
public String getEntradaTeclado () { return entradaTeclado; } //método tipo función para obtener resultado entrada teclado
public int getNumeroLetras (){//metodo tipo función para obtener el numero de letras de una cadena
return entradaTeclado.length ();
}
}
Código: [Seleccionar]
import java.util.Scanner;
public class CompararLetras
{
public static void main (String [] args){
System.out.println ("Inicio del ejercicio CU00662B\n");
System.out.print ("Teclea una palabra: ");
EntradaTeclado palabra1= new EntradaTeclado();
System.out.println ("La primera palabra introducida es: \"" +palabra1.getEntradaTeclado()+ "\"\n");
System.out.print ("Teclea otra palabra: ");
EntradaTeclado palabra2 = new EntradaTeclado ();
System.out.println ("La segunda palabra introducida es: \"" +palabra2.getEntradaTeclado()+ "\"\n");
int numeroLetrasPalabra1 = palabra1.getNumeroLetras();
int numeroLetrasPalabra2 = palabra2.getNumeroLetras();
int mayorNumeroLetras = 0;
int menorNumeroLetras = 0;
String palabraCorta = "";
String ordinalPalabraCorta = "";
if (numeroLetrasPalabra1>numeroLetrasPalabra2){
mayorNumeroLetras = palabra1.getNumeroLetras();
menorNumeroLetras = palabra2.getNumeroLetras();
palabraCorta = palabra2.getEntradaTeclado();
ordinalPalabraCorta = "segunda";}
else{
mayorNumeroLetras = palabra2.getNumeroLetras();
menorNumeroLetras = palabra1.getNumeroLetras();
palabraCorta = palabra1.getEntradaTeclado();
ordinalPalabraCorta = "primera";}
for (int i=0;i<mayorNumeroLetras;i++)//Bucle hasta que el numero de letras sea igual que el de la palabra mas larga
{
if (i<menorNumeroLetras){//condición hasta que alcance el numero de letras de la palabra mas corta
if (palabra1.getEntradaTeclado().substring (i,i+1).equals (palabra2.getEntradaTeclado().substring (i,i+1)))
{
System.out.println ("Las letras número " +(i+1)+ " son IGUALES en ambas palabras: "+
"\""+palabra1.getEntradaTeclado().substring (i,i+1) +"\"" + " y "+"\""
+palabra2.getEntradaTeclado().substring (i,i+1)+"\"" );
}
else {System.out.println ("Las letras número " +(i+1)+ " son DIFERENTES en ambas palabras: "+
"\""+palabra1.getEntradaTeclado().substring (i,i+1) +"\"" + " y "+"\""
+palabra2.getEntradaTeclado().substring (i,i+1)+"\"");}
}
else{//cuando el numero de letras sea mayor al de la palabra mas corta
System.out.print("La " +ordinalPalabraCorta+ " palabra\" "+palabraCorta+"\" no tiene letra "+(i+1)+".\n");
}
}
}
}