Autor Tema: System.out.println Scanner pedir dato Java ejercicio resuelto substring CU00662B  (Leído 1845 veces)

ronal.d87

  • Principiante
  • **
  • Mensajes: 72
    • Ver Perfil
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");
        }
    }
}
« Última modificación: 27 de Abril 2019, 21:05 por Ogramar »
Ronald Mosquera Mancilla

paramonso

  • Intermedio
  • ***
  • Mensajes: 241
  • El ignorante afirma, el sabio duda y reflexiona.
    • Ver Perfil
Re:Respuesta CU00662B
« Respuesta #1 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.
 ;)

 

Sobre la educación, sólo puedo decir que es el tema más importante en el que nosotros, como pueblo, debemos involucrarnos.

Abraham Lincoln (1808-1865) Presidente estadounidense.

aprenderaprogramar.com: Desde 2006 comprometidos con la didáctica y divulgación de la programación

Preguntas y respuestas

¿Cómo establecer o cambiar la imagen asociada (avatar) de usuario?
  1. Inicia sesión con tu nombre de usuario y contraseña.
  2. Pulsa en perfil --> perfil del foro
  3. Elige la imagen personalizada que quieras usar. Puedes escogerla de una galería de imágenes o subirla desde tu ordenador.
  4. En la parte final de la página pulsa el botón "cambiar perfil".