Este algoritmo lo que hace es convertir una frase a código morse. Para ello hace uso de HashMap (un mapa de estructura de datos) para acceder a una "tabla" de códigos morse.
Una de las ventajas de uso de HashMap es que ofrece un acceso a datos más rápido que usando un arreglo.
Código 1 (CodigoMorse2.java):
package codigomorse2;
public class CodigoMorse2 {
public static void main(String[] args) {
Morse m = new Morse();
m.morse();
}
}
Código 2 (Morse.java):
package codigomorse2;
import java.util.HashMap;
import java.util.Scanner;
public class Morse {
HashMap<String, String> tablaCodigoMorse = new HashMap<>();
public void morse() {
tablaCodigoMorse = getTabla();
//añadir nuevos códigos morse a la tabla
tablaCodigoMorse.put(" ", " ");
tablaCodigoMorse.put(".", ".-.-.-");
System.out.println("Escriba un mensaje a convertir:");
Scanner input = new Scanner(System.in);
String mensaje = input.nextLine();
String strMorse = conversorStrToMorse(mensaje);
//resultado
System.out.println("\nEn morse:\n" + strMorse);
}
private String conversorStrToMorse(String frase) {
String arrTmp[] = frase.split("");
String morse = "";
for (String arrTmp1 : arrTmp) {
morse += tablaCodigoMorse.get(arrTmp1.toUpperCase()) + " ";
}
return morse;
}
private static HashMap<String, String> getTabla() {
//tabla código morse internacional
HashMap<String, String> par = new HashMap<>();
par.put("A", ".-");
par.put("B", "-...");
par.put("C", "-.-.");
par.put("D", "-..");
par.put("E", ".");
par.put("F", "..-.");
par.put("G", "--.");
par.put("H", "....");
par.put("I", "..");
par.put("J", ".---");
par.put("K", "-.-");
par.put("L", ".-..");
par.put("M", "--");
par.put("N", "-.");
par.put("O", "---");
par.put("P", ".--.");
par.put("Q", "--.-");
par.put("R", ".-.");
par.put("S", "...");
par.put("T", "-");
par.put("U", "..-");
par.put("V", "...-");
par.put("W", ".--");
par.put("X", "-..-");
par.put("Y", "-.--");
par.put("Z", "--..");
par.put("0", "-----");
par.put("1", ".----");
par.put("2", "..---");
par.put("3", "...--");
par.put("4", "....-");
par.put("5", ".....");
par.put("6", "-....");
par.put("7", "--...");
par.put("8", "---..");
par.put("9", "----.");
return par;
}
}
Resultado:
run:
Escriba un mensaje a convertir:
Esto es una prueba de codigo morse.
En morse:
. ... - --- . ... ..- -. .- .--. .-. ..- . -... .- -.. . -.-. --- -.. .. --. --- -- --- .-. ... . .-.-.-
BUILD SUCCESSFUL (total time: 15 seconds)
Una forma sencilla y rápida de aprender JAVA, observando y deduciendo cómo se comporta el lenguaje a través de ejemplos prácticos.
Archivo del blog
-
►
2012
(38)
- ► septiembre (3)
-
►
2020
(12)
- ► septiembre (1)
-
▼
2022
(30)
- ► septiembre (4)
-
▼
octubre
(8)
- Conversor a código Morse. Uso de HashMap.
- Emitir notas musicales en formato sintetizado (midi).
- Conversor a código Braille. Uso de HashMap con mat...
- Arrastrar un gráfico con el mouse dentro de jFrame.
- Mezclar elementos de una lista. Uso de "Collection...
- Cola circular. Uso de Queue.
- Rotar elementos de una lista. Uso de "Collections....
- Mezlar, ordenar, rotar e invertir un listado. Uso ...
domingo, 2 de octubre de 2022
Conversor a código Morse. Uso de HashMap.
Suscribirse a:
Enviar comentarios (Atom)
Con la tecnología de Blogger.
No hay comentarios:
Publicar un comentario