1

コードに問題があります。モールス符号などの値を含む 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" がユーザー入力の場合、出力は ".... . -.--" となるはずです。

前もって感謝します。

4

2 に答える 2