Foros aprenderaprogramar.com

Aprender a programar => C, C++, C#, Java, Visual Basic, HTML, PHP, CSS, Javascript, Ajax, Joomla, MySql y más => Mensaje iniciado por: ronal.d87 en 16 de Septiembre 2018, 03:49

Título: System.out.println Scanner pedir dato Java ejercicio resuelto substring CU00662B
Publicado por: ronal.d87 en 16 de Septiembre 2018, 03:49
Respuesta al ejercicio CU00662B del tutorial pdf de programación Java de aprenderaprogramar.

Citar
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.

Código: [Seleccionar]
import java.util.Scanner;
/**
 *
 * @author Ronnie
 */
public class ComparaLetrasCU00662B {
    public static void main(String[] args) {
       
        System.out.println("comparación letra a letra");
        String letra ="", letra2 = "";
        Scanner sc = new Scanner(System.in);
       
        System.out.println("Ingrese la primera letra");
        letra = sc.nextLine();
        System.out.println("Ingrese la segunda letra");
        letra2 = sc.nextLine();
       
        if(letra.length() > letra2.length()){
            for(int i = 0; i < letra2.length();i++){
                System.out.println("Letra "+(i+1)+" es igual: "
                        +letra.substring(i, i+1).equals(letra2.substring(i, i+1)));
            }
        }
        for(int i = letra2.length();i < letra.length();i++){     
            System.out.println("letra "+(i+1)+" dos en esta posicion no tiene letra");
        }     
        if(letra.length()<= letra2.length()){
            for (int i = 0; i<letra.length();i++){
                System.out.println("Letra "+(i+1)+" es igual: "
                        +letra2.substring(i, i+1).equals(letra.substring(i, i+1)));
            }
        }
        for(int i = letra.length();i < letra2.length();i++){       
            System.out.println("letra "+(i+1)+" uno en esta"
                    + "posicion no tiene letra");
        }
    }
}
Título: Re:Respuesta CU00662B
Publicado por: paramonso en 24 de Septiembre 2018, 11:44
Hola Ronald.

Todo correcto y el código hace lo que pide el enunciado.

Solo dos pequeños "errores" que llevan a confusión a la hora de corregir el código.
Las variables letras y letras2 deberían se palabra y palabra2 ya que se pide que ingreses por teclado palabras no letras.
Y en el ultimo for.
Citar
for(int i = letra.length();i < letra2.length();i++){       
            System.out.println("letra "+(i+1)+" uno en esta"
                    + "posicion no tiene letra");
        }
System.out.println("letra "+(i+1)+" uno en esta" +
 "posicion no tiene letra");


cuando sale por pantalla sale todo junto ( uno en estaposicion no tiene letra).
falta poner un espacio.
System.out.println("letra "+(i+1)+" uno en esta " +
 "posicion no tiene letra")
;

Todo ok.
 ;)