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 nopara 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... :)