コードに問題があります。モールス符号などの値を含む txt を使用して並列配列を作成するように依頼されました。例: A .- B -... など...
ここに私のエラーがあります-
public class Translate
{
String input;
String code[];
String alphabet[];
public Translate(String input)
{
this.input = input;
}
public void setInput(String input)
{
this.input = input;
}
public void setAlph(String[] alphabet)
{
this.alphabet = alphabet;
}
public void setCode(String[] code)
{
this.code = code;
}
public String getInput()
{
return input;
}
public String getTranslate()
{
String output = "";
for(int i = 0; i < input.length(); i++)
{
for(int index = 0; index < alphabet.length; index++)
{
if(input.charAt(i) == alphabet[index].charAt(0)
{
output = output + code[index];
}
}
}
return output;
}
}
スレッド「メイン」での例外 java.lang.ArrayIndexOutOfBoundsException: 36
私は通常、助けを求めることはありませんが、私はこれを数時間続けています. input.charAt を alphabet(string) と比較する唯一の方法は、文字列を char に解析するか、最後に .charAt を追加することです。alphabet[index].charAt(index)) を実行しようとしましたが、それもうまくいきませんでした。36ではなく1でのみ同じエラーが発生しました
UPD Im は、「Translate.getTranslate(Translate.java:39) でスレッド "main" java.lang.NullPointerException で例外が発生しました」というエラーが表示されます。
UPD エラーを受信しなくなりました。しかし、私は次の仕事について混乱しています。コード文字の間にはスペースを 1 つ、単語の間にはスペースを 3 つ追加する必要があります。例: "Hey" がユーザー入力の場合、出力は ".... . -.--" となるはずです。
前もって感謝します。