Morse

[aux_code language=»javascript» theme=»tomorrow» title=»Morse» extra_classes=»»]
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

public class Main {

    public static void main(String[] args) {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        String entrada = "";
        do {
            try {
                System.out.println("Traducir a morse: **STOP** para terminar");
                entrada = br.readLine().toUpperCase();
                if (!entrada.equals("**STOP**")) {
                    System.out.println(morse(entrada));
                } else {
                    System.out.println("Me despido.");
                }
            } catch (IOException e) {
                System.out.println("**STOP** Ppara finalizar");
            }
        } while (!entrada.equals("**STOP**"));
    }

    private static String morse(String e) {
        StringBuilder morse = new StringBuilder();
        for (int x = 0; x < e.length(); x++) {
            if (e.charAt(x) == 'C' && (x + 1) <= e.length() && e.charAt(x + 1) == 'H') {
                morse.append("— — — — ");
                x++;
            } else {
                switch (e.charAt(x)) {
                    case ' ':
                        morse.append("\n");
                        break;
                    case 'A':
                        morse.append("· — ");
                        break;
                    case 'B':
                        morse.append("— · · · ");
                        break;
                    case 'C':
                        morse.append("— · — · ");
                        break;
                    case 'D':
                        morse.append("— · · ");
                        break;
                    case 'E':
                        morse.append("· ");
                        break;
                    case 'F':
                        morse.append("· · — · ");
                        break;
                    case 'G':
                        morse.append("— — · ");
                        break;
                    case 'H':
                        morse.append("· · · · ");
                        break;
                    case 'I':
                        morse.append("· · ");
                        break;
                    case 'J':
                        morse.append("· — — — ");
                        break;
                    case 'K':
                        morse.append("— · — ");
                        break;
                    case 'L':
                        morse.append("· — · · ");
                        break;
                    case 'M':
                        morse.append("— — ");
                        break;
                    case 'N':
                        morse.append("— · ");
                        break;
                    case 'Ñ':
                        morse.append("— — · — — ");
                        break;
                    case 'O':
                        morse.append("— — — ");
                        break;
                    case 'P':
                        morse.append("· — — · ");
                        break;
                    case 'Q':
                        morse.append("— — · — ");
                        break;
                    case 'R':
                        morse.append("· — · ");
                        break;
                    case 'S':
                        morse.append("· · · ");
                        break;
                    case 'T':
                        morse.append("— ");
                        break;
                    case 'U':
                        morse.append("· · — ");
                        break;
                    case 'V':
                        morse.append("· · · — ");
                        break;
                    case 'W':
                        morse.append("· — — ");
                        break;
                    case 'X':
                        morse.append("— · · — ");
                        break;
                    case 'Y':
                        morse.append("— · — — ");
                        break;
                    case 'Z':
                        morse.append("— — · · ");
                        break;
                    default:
                        break;

                }
            }

        }
        return morse.toString();
    }
}
[/aux_code]
Etiquetas: Sin etiquetas

Añadir un comentario

Debes estar conectado para publicar un comentario