Autor: Benjamín Navarrete O.
Competencia: Aplica las Ciencias de la Ingeniería
Palabras Clave: String, Ejercicio, Java, Intercalar, Cadenas
Descripción de la Actividad
Hola ! Esta actividad pertenece a Programación I de primer año del primer semestre de la carrera Ingenieria civil informática, ejercida en la Universidad Católica de Temuco.
El ejercicio que les voy a mostrar mas adelante se los mostraré para que vean como se puede interactuar de ésta, y de muchas maneras con string (cadenas). El enunciado del ejercicio es el siguiente: " Cree un programa en el cual se ingresen 2 palabras por teclado, para que después el programa intercale esas palabras. Ej : palabra 1: asdf
palabra 2 : qwer
Resultado: aqswdefr
Dar algunos ejemplos más claros serian algo asi como:
hola, amigo -> [P] -> haomliago
hablando , corriendo -> [P] -> hcaobrlrainednodo
pepe, gumercindo -> [P] -> pgeupmeercindo
ubicando la primera letra de la primera palabra, seguido de la primera letra de la segunda palabra, despues siguiendo con la segunda letra de la primera palabra y con la segunda letra de la otra palabra y así sucesivamente.
un pseudocódigo para desarrollar el problema sería asi:
escribir "ingrese primera palabra"
leer palabra1
escribir "ingrese segunda palabra"
leer palabra2
si(largo palabra1 es = al largo palabra2){
sino si( largo palabra1 > largo palabra2){
reemplazo = (valor absoluto del largo de la palabra1) - (largo palabra2)
para( indice = 0 Indice hasta valor de reemplazo con paso 1 hacer){
palabra2 = palabra2 + "_"
}
} sino{ reemplazo = (valor absoluto del largo de la palabra1) - (largo palabra2)
para( indice = 0 Indice hasta valor de reemplazo con paso 1 hacer){
palabra1 = palabra1 + "_ "
}
}
largo = largo palabra1
para( indice = 0 Indice hasta valor de largo con paso 1 hacer){
palabra nueva = palabra nueva + carácter "indice" palabra1 + carácter "indice" palabra2
}
palabra nueva = palabra nueva.reemplazar "_" por " "
escribir palabra nueva
y el código en java sería así:
import java.util.Scanner;
public class Ejercicio5_IntercalarPalabra {
public static void main(String[] args) {
Scanner leer = new Scanner(System.in);
String palabra1, palabra2, nuevo ="";
int largo, reemplazo;
System.out.println("Ingrese dos palabras");
System.out.println("Palabra 1");
palabra1 = leer.nextLine();
System.out.println("Palabra 2");
palabra2 = leer.nextLine();
if(palabra1.length() == palabra2.length()){
}else if(palabra1.length() > palabra2.length()){
reemplazo = Math.abs((palabra1.length() - palabra2.length()));
for(int i = 0; i < reemplazo;i++){
palabra2 += "_";
}
}else{
reemplazo = Math.abs((palabra1.length() - palabra2.length()));
for(int i = 0; i < reemplazo;i++){
palabra1 += "_";
}
}
largo = palabra1.length();
for (int i = 0; i < largo; i++){
nuevo += palabra1.charAt(i) + "" + palabra2.charAt(i);
}
nuevo = nuevo.replaceAll("_", "");
System.out.println(nuevo);
}
}
reflexión
Para mí esta actividad sirvió para ver cómo se puede interactuar entre Strings como en este caso intercalando dos palabras, también en la forma de analizar el problema, viéndolo desde muchos puntos de vista, ya que éste se puede escribir de muchísimas maneras, y todas llegando al mismo resultado, todo dependiendo de la forma de reflexionar y de pensar de la persona que está programando. Por eso esta actividad también sirve para ver la diversidad o de las miles de maneras que se puede crear un programa con distinto código o siguiendo una misma lógica. Ejercicios como éstos son los que nos hacen ejercitar nuestra mente de ingenieros y pensar de una manera más analítica al momento de hacer las cosas o de la toma de decisiones.
Está abierta la posibilidad para que puedan consultar todas sus dudas :)