English
A tiny command-line Java script that converts the full command-line argument string into Morse code and prints it to stdout.
What it does
- Joins all command-line arguments into a single input string (preserving spaces).
- Translates letters (A–Z), digits (0–9), spaces (as "/"), and several common punctuation marks into International Morse Code.
- Unknown characters are represented as "?" in the output.
Why Java 25 makes this simpler
This project uses Java script/shebang mode (invoked with --source 25) and top-level declarations so the program runs as a single executable source file without an explicit compilation step. The code also uses concise language features (local var, switch expressions with arrow labels and string joining) which reduce boilerplate and make the translation logic compact and readable.
How to run
Make the script executable and run it directly:
chmod +x morse ./morse Hello World
Or run with the Java launcher (requires a JDK that supports --source 25):
java --source 25 morse Hello World
Example output
./morse Hello World
Produces:
.... . .-.. .-.. --- / .-- --- .-. .-.. -..
Notes
- No build or packaging step is required; the single-file script runs directly.
- The mapping covers letters, digits and common punctuation; feel free to extend the map in the source file.
Português
Um pequeno script Java de linha de comando que converte a string completa de argumentos em código Morse e imprime no stdout.
O que faz
- Junta todos os argumentos de linha de comando em uma única string de entrada (preservando espaços).
- Traduz letras (A–Z), dígitos (0–9), espaços (como "/") e vários sinais de pontuação comuns para o Código Morse Internacional.
- Caracteres desconhecidos são representados como "?" na saída.
Por que o Java 25 torna isto mais simples
Este projeto usa o modo script/shebang do Java (invocado com --source 25) e declarações de nível superior, de modo que o programa é um único arquivo executável sem um passo explícito de compilação. O código também usa recursos concisos (local var, expressões switch com setas e junção de strings) que reduzem o boilerplate e tornam a lógica de tradução compacta e legível.
Como executar
Torne o script executável e execute-o diretamente:
chmod +x morse ./morse Hello World
Ou execute com o Java (requer um JDK que suporte --source 25):
java --source 25 morse Hello World
Exemplo de saída
./morse Hello World
Produz:
.... . .-.. .-.. --- / .-- --- .-. .-.. -..
Observações
- Nenhuma etapa de build ou empacotamento é necessária; o script de arquivo único é executado diretamente.
- O mapeamento cobre letras, dígitos e pontuação comum; fique à vontade para estender o mapa no arquivo fonte.
Artigo: https://dev.to/denisarruda/criando-um-cli-de-codigo-morse-com-java-moderno-3h5