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: lpeiro61 en 28 de Marzo 2016, 12:49
-
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.
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) );
}
}
}
}
}
-
Hola Ipeiro61.
Tienes que poner tu solución de ejercicio en un hilo nuevo. Es decir, tienes que crear un tema nuevo.
Saludos.
-
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.
-
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.
-
Disculpas, a partir del próximo ejercicio en un tema nuevo.
-
Tranquilo, no tengo nada que disculpar. Simplemente de esta manera intentamos que los foros se mantengan ordenados.
Saludos.