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)
-
▼
2024
(29)
-
▼
agosto
(17)
- Problema del Viajante de Comercio TSP (V.1). Métod...
- Problema del Viajante de Comercio TSP (V.2). Métod...
- Problema del Viajante de Comercio TSP (V.3). Métod...
- Problema del viajante de Comercio TSP (IV.2). Méto...
- Problema del Viajante de Comercio TSP (V.3.1). Aná...
- Matriz de conectividad circular.
- Problema del viajante de Comercio TSP (VI). Método...
- Problema del viajante de Comercio TSP (VII). Métod...
- Problema del viajante de Comercio TSP (VIII). Méto...
- Problema del viajante de Comercio TSP (IX). Método...
- Problema del viajante de Comercio TSP (X). Método ...
- Problema del viajante de Comercio TSP (XI). Método...
- Problema del viajante de Comercio TSP (XII). Métod...
- Problema del viajante de Comercio TSP (XIII). Méto...
- Problema del viajante de Comercio TSP (XIV). Métod...
- Problema del viajante de Comercio TSP (XV). Método...
- Juegos VII. La Mansión Misteriosa: Un juego de tex...
-
▼
agosto
(17)
domingo, 2 de octubre de 2022
Conversor a código Morse. Uso de HashMap.
Suscribirse a:
Entradas (Atom)
Con la tecnología de Blogger.