私は、モールス信号を英語に、またはその逆に翻訳できるプロジェクトに取り組んでいます。以下は具体的な指示です: 「あなたのプログラムは、ユーザーに目的の翻訳の種類を指定するように促し、モールス符号文字または英字の文字列を入力し、翻訳結果を表示する必要があります。モールス符号を入力するときは、各文字/数字を"|" で複数の単語を区切ります. たとえば、- --- | -... . は "to be" という文のモールス符号入力になります. プログラムは 1 つの文を処理するだけで済みます.句読点を無視できます。」
英語をモールス信号に変換する方法はわかりましたが、モールス信号を英語に変換する方法がわかりません。そして、あなたがこれを読んでいるなら、私を助けてください!ヘルプやヒントをいただければ幸いです。ありがとう :)
public static String[] morse = { ".- ", "-... ", "-.-. ", "-.. ", ". ",
"..-. ", "--. ", ".... ", ".. ",
".--- ", "-.- ", ".-.. ", "-- ", "-. ", "--- ", ".--. ", "--.- ",
".-. ", "... ", "- ", "..- ",
"...- ", ".-- ", "-..- ", "-.-- ", "--.. ", "|" };
public static String[] alphabet = { "a", "b", "c", "d", "e", "f", "g", "h",
"i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u",
"v", "w", "x", "y", "z", " " };
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
System.out.println("Input '1' to translate English to Morse Code.");
System.out.println("Input '2' to translate Morse Code to English.");
int kind = in.nextInt();
if (kind == 1) {
System.out.println("Please insert an alphabet string");
String Eng = in.next();
EngToMo(Eng);
}
if (kind == 2) {
System.out.println("Please insert a morse string");
String Mor = in.next();
MoToEng(Mor);
}
}
public static void EngToMo(String string1) {
String Upper1 = string1.toUpperCase();
for (int i = 0; i < Upper1.length(); i++) {
char x = Upper1.charAt(i);
if (x != ' ') {
System.out.print(morse[x - 'A'] + " ");
} else {
System.out.println(" | ");
}
}
}
public static void MoToEng(String string2) {
}
}