このプログラムから出力が得られない理由を誰かが説明できますか? for ループと if ステートメントを使用して数字用のモールス符号トランスレータを作成しようとしていますが、何も表示されず、翻訳したいモールス符号を入力します。
import acm.program.*;
public class MorseDecoder extends ConsoleProgram
{
public void run()
{
String morseDig = "";
int digit = 0;
String morse = readLine("Please enter the morse code: ");
for (int i = 0; i == morse.length(); i += 5)
{
if (morseDig == ".----"){
digit = 1;
}
else if(morseDig == "..---"){
digit = 2;
System.out.println(digit);
}
else if(morseDig == "...--"){
digit = 3;
}
else if(morseDig == "....-"){
digit = 4;
}
else if(morseDig == "....."){
digit = 5;
}
else if(morseDig == "-...."){
digit = 6;
}
else if(morseDig == "--..."){
digit = 7;
}
else if(morseDig == "---.."){
digit = 8;
}
else if(morseDig == "----."){
digit = 9;
}
else if(morseDig == "-----"){
digit = 0;
}
else{
println("NaN");
}
}
}
//~ Methods ...............................................................
}
最後の NaN は、モールス符号に数値変換がない場合に使用されます。