...はい、それはすべての上に掲示されます を認識していないし、いや、私のエラーのまわりで私の頭を包むように見えることはできません。私は文字や文字列のニュアンスに対処しようとしていることがわかります。しかし、私のアウトプットは助けにならないかもしれません。以下は私が得ている出力と私にそれを与えるコードです。のJava - スプリットモールス、単一モールス文字
入力:
...
なし出力
この入力
... ---
出力
電子
電子
電子
とこの入力
... |
電子
電子
電子
( 'S' でなければなりません)のみ最初のモールス "文字" ---
出力は、後に残りの部分を無視しますパイプおよび/またはスペース
public static void morseToEnglish() {
String englishArray[] = {"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"};
String morseArray[] = {".-", "-...", "-.-.", "-..", ".", "..-.", "--.", "....", "..", ".--- ", "-.-", ".-..", "--", "-.", "---", ".--.", "--.-", ".-.", "...", "-", "..-", "...-", ".--", "-..-", "-.--", "--.."};
//String translatedText = "";
//String newEnglishChar;
System.out.println("Enter Morse, separate each letter or digit with a single space, separate words with '|' ");
Scanner input = new Scanner(System.in);
String morseSentence = input.nextLine();
String[] words = morseSentence.split("|");
for (String word: words) {
String[] morseChars = word.split(" ");
for (String morseChar : morseChars) {
if (morseChar.isEmpty()) { continue; }
for (int i = 0; i < words.length; i++) {
if (morseChar.equals(morseArray[i])) {
System.out.println(englishArray[i]);
//newEnglishChar = englishArray[i];
//translatedText = translatedText + newEnglishChar;
}
}
}
}
//System.out.println(translatedText);
}
コンパイルエラーは発生しません。コードはうまくいきます。私はちょうど間違った指示をしたので、私の出力は私が好むとは思いません。 Scannerがモールスを入力しているようです。 '...'、そしてそれを3つのeとして解釈するのは単一ではない。私は(多かれ少なかれ)(!(あれば。含まれている))の場合を除いてみましたが、それは働いていなかったと過度の条件に見えました。 私はちょうど正しい方法で正しいオブジェクトを処理するわけではない感じ。後者の場合(スペースで区切られた2つのモールス信号文字は、)機能する場合は、本当に、私は大丈夫だろう。単一のモールスのキャラクターがこの時点で尋ねるにはあまりにも多すぎるかもしれません。 壮大な質問:私は、Javaを語っています、それは3つの別々の文字として3個のドットを治療するためのOKですか?そして、なぜ?......私はそれが助けになることを願っています。
ようこそスタックオーバーフロー!デバッガの使い方を学ぶ必要があるようです。 [補完的なデバッグ手法](https://ericlippert.com/2014/03/05/how-to-debug-small-programs/)にご協力ください。その後も問題が残っている場合は、より具体的な質問に戻ってください。 –