Foros aprenderaprogramar.com
Aprender a programar => Aprender a programar desde cero => Mensaje iniciado por: Titomon en 15 de Diciembre 2016, 15:21
-
Buen día,
Adjunto el codigo correspondiente al ejercicio de la entrega No. 62 del curso "Aprender programación Java desde cero"
import java.util.Scanner;
public class Comparador {
public Comparador () {
}
public static void main (String [ ] args) {
System.out.println ("Por favor ingrese la primera palabra:");
Scanner entradaEscaner1 = new Scanner(System.in);
String entradaTeclado1 = entradaEscaner1.nextLine();
System.out.println ("Por favor ingresa la segunda palabra:");
Scanner entradaEscaner2 = new Scanner(System.in);
String entradaTeclado2 = entradaEscaner2.nextLine();
int i = 0;
if (entradaTeclado1.length() > entradaTeclado2.length()) {
while (i<entradaTeclado2.length()) {
if (entradaTeclado1.substring(i,i+1).equalsIgnoreCase(entradaTeclado2.substring(i,i+1)) == true){
System.out.println ("¿Letra " + (i+1) + " igual en las dos palabras? True");
}
else { System.out.println ("¿Letra " + (i+1) + " igual en las dos palabras? False"); }
i++;
}
for (int j=1; (i+j)<=entradaTeclado1.length(); j++) {
System.out.println ("¿Letra " + (i+j) + " igual en las dos palabras? La palabra 2 no tiene letra " + (i+j));
}
}
else {
while (i<entradaTeclado1.length()) {
if (entradaTeclado1.substring(i,i+1).equalsIgnoreCase(entradaTeclado2.substring(i,i+1)) == true){
System.out.println ("¿Letra " + (i+1) + " igual en las dos palabras? True");
}
else { System.out.println ("¿Letra " + (i+1) + " igual en las dos palabras? False"); }
i++;
}
for (int j=1; (i+j)<=entradaTeclado2.length(); j++) {
System.out.println ("¿Letra " + (i+j) + " igual en las dos palabras? La palabra 1 no tiene letra " + (i+j));
}
}
}
}
Muchas gracias!!
-
Buenos días.
El ejercicio llega a la solución que se pedía,aunque el código podría reducirse bastante.Por ejemplo:
import java.util.Scanner;
public class Comparador {
public Comparador () {
}
public static void main (String [ ] args) {
System.out.println ("Por favor ingrese la primera palabra:");
Scanner entradaEscaner = new Scanner(System.in);
String entradaTeclado1 = entradaEscaner.nextLine();
System.out.println ("Por favor ingresa la segunda palabra:");
String entradaTeclado2 = entradaEscaner.nextLine();
int i = 0;
int h=0;
String entrada="";
String entrada2="";
if (entradaTeclado1.length() > entradaTeclado2.length()){
entrada=entradaTeclado2;
entrada2=entradaTeclado1;
h=2;}
else{
entrada=entradaTeclado1;
entrada2=entradaTeclado2;
h=1;}
while (i<entrada.length()) {
if (entradaTeclado1.substring(i,i+1).equalsIgnoreCase(entradaTeclado2.substring(i,i+1))){
System.out.println ("¿Letra " + (i+1) + " igual en las dos palabras? True");
}
else { System.out.println ("¿Letra " + (i+1) + " igual en las dos palabras? False"); }
i++;
}
for (int j=1; (i+j)<=entrada2.length(); j++) {
System.out.println ("¿Letra " + (i+j) + " igual en las dos palabras? La palabra "+h+" no tiene letra " + (i+j));
}
}
}
Un saludo
-
Buenos días ESOJ,
Muchas gracias por tu respuesta. Tienes razón, la forma en que lo haces reduce bastante el código. Gracias por el consejo.
Saludos.