java

Traductor código Morse en Java

En este post te mostraré cómo traducir o codificar y decodificar código Morse en Java. Es decir, usar Java para programar un software que traduce de Morse a letras, y de letras a Morse. O de español a Morse, y de Morse a español, como quieras llamarle.

Traductor Morse en Java

Equivalencias de Morse a letras

Lo primero que tenemos que hacer es tener las equivalencias de manera accesible para poder buscar ya sea de Morse a ASCII o de ASCII a Morse.

Tengo un gist que creé hace tiempo con todas las equivalencias, y ya dentro del lenguaje, a diferencia de cuando programé esto mismo en C, utilizo un Hashtable que no es más que un diccionario de clave y valor.

See the gist on github.

De este modo, para obtener el Morse de una letra simplemente se obtiene el valor a partir de la clave, dentro del diccionario, en un tiempo óptimo.

Ya para el caso de tener el Morse y buscar la letra para el traductor de Morse en Java, tendremos que hacer una búsqueda secuencial pero que no nos quita nada porque en el peor de los casos igual lo habríamos hecho con un arreglo.

Aunque, si quieres algo óptimo en tiempo de ejecución, puedes crear otro Hashtable con las claves de Morse y los valores de las letras, así sería totalmente óptimo al buscar la equivalencia.

Buscar equivalencias dentro de Hashtable

Ahora veamos los métodos de Java que nos permitirán:

  • Obtener el equivalente a Morse a partir de una letra
  • Obtener la letra a la que corresponde un código Morse (o como se le diga)

Los mismos están listados a continuación:

See the gist on github.

En el primer caso simplemente obtenemos el valor del diccionario, a través de la clave. En el segundo caso, recorremos todo el diccionario clave por clave. Si al obtener el valor (código Morse) equivale a lo que buscamos, regresamos la clave (letra).

Si te fijas esto solo devuelve la equivalencia, pero todavía no convierte. Eso lo veremos a continuación.

Traductor Morse

Ahora veremos cómo transformar toda una cadena de Morse a letras, y de letras a Morse. Esto es, codificar a Morse y decodificar desde Morse.

See the gist on github.

Ahora las funciones sí decodifican y codifican. Para codificar a morse lo que se hace es recorrer toda la cadena y por cada letra, buscar su equivalente. Luego ese equivalente se agrega a la cadena que tiene el resultado.

Por otro lado, para decodificar de Morse, primero se convierte la cadena a arreglo pues se debe separar por espacios. Una vez hecho esto, se recorre cada cadena del arreglo (que serán letras pero en Morse), se busca la equivalencia y se concatena.

Finalmente quiero mencionar que las letras se convierten a mayúscula porque el código no especifica soporte para letras minúsculas.

Poniendo todo junto

El código completo del traductor de Morse en Java queda como se ve a continuación. Ya incluye, dentro del método main, la manera de invocar a las funciones. Recuerda que este es un ejemplo simple; tú puedes modificarlo a tu gusto.

See the gist on github.

Si quieres probar el ejemplo en línea, lo he colocado en un replit. También puedes ver más tutoriales sobre Java en mi blog.

Encantado de ayudarte


Estoy disponible para trabajar en tu proyecto, modificar el programa del post o realizar tu tarea pendiente, no dudes en ponerte en contacto conmigo.

No te pierdas ninguno de mis posts

Suscríbete a mi canal de Telegram para recibir una notificación cuando escriba un nuevo tutorial de programación.
parzibyte

Programador freelancer listo para trabajar contigo. Aplicaciones web, móviles y de escritorio. PHP, Java, Go, Python, JavaScript, Kotlin y más :) https://parzibyte.me/blog/software-creado-por-parzibyte/

Entradas recientes

Imprimir PDF con Bot de Telegram

La impresión de un PDF en cualquier impresora se puede automatizar con un bot de…

2 días hace

Enviar mensaje con bot de Telegram usando JavaScript (lado del cliente)

Hoy te enseñaré cómo enviar un mensaje a un usuario desde un bot de Telegram…

3 días hace

PHP: incrustar imagen en base64

El día de hoy te enseñaré algo muy sencillo pero útil al programar con PHP:…

3 días hace

Plugin ESC POS – Actualización 3.4.0: imprimir HTML

El plugin para imprimir en impresoras térmicas alcanza hoy su versión 3.4.0 agregando soporte para…

4 días hace

JavaScript (lado del cliente): leer pixeles de imagen

En ocasiones es necesario leer los pixeles y colores de una imagen con JavaScript del…

2 semanas hace

PHP y JavaScript: llenar select con AJAX

Siguiendo con los tutoriales de listas desplegables o select con JavaScript, vamos a ver cómo…

2 semanas hace

Esta web usa cookies.