Foros aprenderaprogramar.com
Aprender a programar => Aprender a programar desde cero => Mensaje iniciado por: umadara en 01 de Julio 2016, 18:15
-
Aquí otro ejercicio, que me ha costado bastante. Se trata del ejercicio CU00662B del taller Aprende a programar en Java como si estuvieras en primero.
import java.util.Scanner; //Importación del código de la clase Scanner desde la biblioteca Java
public class CompararPalabras2 {
//atributos
public String entradaTeclado;
public static void main (String [ ] args) {
Scanner entrada1Escaner = new Scanner (System.in); //Creación de un objeto Scanner
System.out.println ("introduzca primera paralabra");
String palabra1 = "";
palabra1 = entrada1Escaner.nextLine();
Scanner entrada2Escaner = new Scanner (System.in); //Creacción objeto Scanner
System.out.println ("introduzca segunda palabra");
String palabra2 = "";
palabra2 = entrada2Escaner.nextLine();
boolean comparacion = true;
int i = 0;
while (i < palabra1.length() && i < palabra2.length()) {
comparacion = palabra1.substring (i,i+1).equals(palabra2.substring (i,i+1));
if (true == comparacion) {
System.out.println ("letra " + (i+1) + ": " + "es igual");
} else {
System.out.println ("letra " + (i+1) + " es diferente");
}
i++;
}
while (i >= palabra1.length() && i < palabra2.length()) {
System.out.println ("para la letra "+ (i+1) +"la palabra 1 no contine letras");
i++;
}
while (i < palabra1.length() && i >= palabra2.length()) {
System.out.println ("para la letra "+ (i+1) +"la palabra 2 no contiene letras");
i++;
}
}
}
un saludo y nos seguimos leyendo
ciao.
-
Tu ejercicio no cumple lo que pide el enunciado porque si es verdadero te tiene que tirar el mensaje y al final true y si es falso false.
Crea una clase en cuyo método main ejecutes una comparación letra a letra usando equals de dos palabras usando bucles. Por ejemplo si las palabras son “avispa” y “ave” el programa debe dar como resultado: ¿Letra 1 igual en las dos palabras? True. ¿Letra 2 igual en las dos palabras? True ¿Letra 3 igual en las dos palabras? False ¿Letra 4 igual en las dos palabras? La palabra 2 no tiene letra 4 ¿Letra 5 igual en las dos palabras? La palabra 2 no tiene letra 5 ¿Letra 6 igual en las dos palabras? La palabra 2 no tiene letra 6.
-
Acá te mando un ejemplo que podes adaptar a tu ejercicios o guiarte por el ejercicios ojala que te sirva saludo. :) :)
int limiteSup;
int limiteInf;
int text;
if (palabra_1.length() < palabra_2.length()) {
limiteInf = palabra_1.length();
text = 1;
limiteSup = palabra_2.length();
} else {
limiteInf = palabra_2.length();
text = 2;
limiteSup = palabra_1.length();
}
for (int i = 0; i < limiteSup; i++) {
if (i < limiteInf) {
System.out.println("¿Letra " + (i + 1) + " igual en las dos palabras? " + (palabra_1.substring(i, i + 1).equals(palabra_2.substring(i, i + 1))));
} else {
System.out.println("La palabra " + text + " no tiene letra " + (i + 1));
}
}
-
Hola DRANXZ88, aparte de que veo algunos fallos en espacios o letras (por ejemplo contine en lugar de contiene) yo sí veo el ejercicio correcto. ¿Por qué crees tú que no cumple lo que pedía el enunciado?
Saludos
-
Yo me refería que el enunciado mostraba true o false depende de la condición que cumpla ejemplo.
¿Letra 1 igual en las dos palabras? True.
Ademas decía una parte La palabra 2 no tiene letra 4
y en su ejercicios no imprime así si no para la letra 6 la palabra 1 no contiene letras
puede que sea detalle nomas.
-
Sí, yo considero que es sólo un detalle y que el ejercicio está bien, porque el programa dice letra 1: es igual (o es diferente si fueran diferentes), ya se entiende que letra 1 igual es las dos palabras es true (o false en las dos palabras), es solo otra forma de expresarlo. Saludos.
-
Gracia por tu aclaración me quedo muy claro saludo... :)