我的代码有问题。我被要求使用包含摩尔斯电码和类似值的 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 与字母(字符串)进行比较的唯一方法是将字符串解析为 char 或在末尾添加 .charAt。我试过做 alphabet[index].charAt(index)) 但这也不起作用。它给了我同样的错误,只有 1 而不是 36
UPD 我在 Translate.getTranslate(Translate.java:39) 处收到错误“线程“主”java.lang.NullPointerException 中的异常”
UPD 不再接收错误。然而,我对我的下一个任务感到困惑。我需要在多个代码字母之间添加一个空格,在单词之间添加 3 个空格。例如:如果“嘿”是用户输入,则输出应该是“.... -.--”,而我收到“....-.--”
提前致谢。