Autor Tema: Java pedir datos por teclado al usuario ejemplo new Scanner(System.in) CU00662B  (Leído 4970 veces)

lpeiro61

  • Sin experiencia
  • *
  • APR2.COM
  • Mensajes: 11
    • Ver Perfil
Hola a todos. pongo mi primer ejercicio.
Aunque iba siguiendo el curso como los ejercicios anteriores que hacía eran bastante parecidos a los ya publicados no los he puesto.
Ahora pongo mi primer ejercicio.
No sé si estará bien desarrollado pero creo que funciona.

Código: [Seleccionar]
import java.util.Scanner;

public class CopmparaLetraALetra
{
   public static void main(String[] args)
   {
       /* Solicitud y almacenamiento palabras. */
       System.out.println("Introduce la primera palabra...");
       
       Scanner entradaEsc = new Scanner(System.in);
       String palabra1;
       palabra1 = entradaEsc.nextLine();
       
       System.out.println("Introduce la segunda palabra...");
       String palabra2;
       palabra2 = entradaEsc.nextLine();
       
       /* Declaración de variables a utilizar. */
       String palabraCorta; // Para almacenar la palabra más corta.
       int letrasPalCorta; // Para almacenar el nº de letras de la palabra más corta.
       int difLetras;  // Para almacenar el nº de letras que tiene una palabra más que la otra.
       
       /* Para saber qué palabra es la más corta, el nº de letras de élla y la diferencia de letras entre ellas. */
       if(palabra1.length() < palabra2.length() )
       {
           palabraCorta = palabra1;
           letrasPalCorta = palabra1.length();
           difLetras = palabra2.length() - palabra1.length();
       }
       else if(palabra1.length() > palabra2.length() )
       {
           palabraCorta = palabra2;
           letrasPalCorta = palabra2.length();
           difLetras = palabra1.length() - palabra2.length();
       }
       else
       {
           palabraCorta = "";
           letrasPalCorta = palabra1.length();
           difLetras = 0;
       }
       
       /* Bucle para comparar letra a letra. */
       for(int i=0; i < letrasPalCorta; i++)
       {
           if( palabra1.substring(i,i+1).equals(palabra2.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.");
           }
       }
       
       /* Para especificar que la palabra más corta no tiene la letra correspondiente a la letra de la otra palabra. */
       if(palabra1.length() != palabra2.length() ) // En caso de tener las mismas letras no se ejecuta.
       {
           if(palabraCorta.equals(palabra1))
           {
               for(int i=1; i <= difLetras; i++)
               {
                   System.out.println("¿Letra " + (letrasPalCorta + i) + " igual en las dos palabras?" +
                                      " La palabra 1 no tiene letra " + (letrasPalCorta + i) );
               }
           }
           else
           {
               for(int i=1; i <= difLetras; i++)
               {
                   System.out.println("¿Letra " + (letrasPalCorta + i) + " igual en las dos palabras?" +
                                      " La palabra 2 no tiene letra " + (letrasPalCorta + i) );
               }
           }
       }
   }
}

« Última modificación: 30 de Marzo 2016, 11:27 por César Krall »

Dimitar Stefanov

  • Experto
  • *****
  • Mensajes: 598
    • Ver Perfil
Re:CU00662B
« Respuesta #1 en: 28 de Marzo 2016, 12:56 »
Hola Ipeiro61.

Tienes que poner tu solución de ejercicio en un hilo nuevo. Es decir, tienes que crear un tema nuevo.

Saludos.

Mario R. Rancel

  • Administrador
  • Experto
  • ********
  • APR2.COM
  • Mensajes: 1978
    • Ver Perfil
Re:CU00662B
« Respuesta #2 en: 28 de Marzo 2016, 15:55 »
Hola lpeiro61, tal y como comenta dimiste cuando quieras exponer tu solución para un ejercicio es preferible que crees un hilo nuevo en el foro en lugar de responder sobre un hilo ya existente. Voy a trasladar tu respuesta a un hilo nuevo. Saludos.

Dimitar Stefanov

  • Experto
  • *****
  • Mensajes: 598
    • Ver Perfil
Re:CU00662B
« Respuesta #3 en: 28 de Marzo 2016, 16:38 »
Buenas tardes Ipeiro61.

Tu código cumple con el cometido del ejercicio. A nivel de sintaxis,  todo lo veo correcto.

De todas formas, si quieres, consulta más soluciones para una mayor diversidad (no en tu código, sino en general).

Saludos.

lpeiro61

  • Sin experiencia
  • *
  • APR2.COM
  • Mensajes: 11
    • Ver Perfil
Re:CU00662B
« Respuesta #4 en: 28 de Marzo 2016, 16:52 »
Disculpas, a partir del próximo ejercicio en un tema nuevo.

Dimitar Stefanov

  • Experto
  • *****
  • Mensajes: 598
    • Ver Perfil
Re:CU00662B
« Respuesta #5 en: 28 de Marzo 2016, 19:08 »
Tranquilo, no tengo nada que disculpar. Simplemente de esta manera intentamos que los foros se mantengan ordenados.

Saludos.
« Última modificación: 30 de Marzo 2016, 11:26 por César Krall »

 

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