У меня проблемы с моим кодом. Меня попросили создать параллельный массив с использованием txt, который содержал код Морзе и подобные значения. Пример: A .- B -... и т.д ...Интервал в выходе массива java
Heres, где моя ошибка
IS-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 с алфавитом (строкой), - это разбор строки в символ или добавление .charAt в конце. Я пробовал делать алфавит [index] .charAt (index)), но это тоже не сработало. он дал мне ту же ошибку, только с 1 не 36
UPD Im получаю сообщение об ошибке «Исключение в потоке„основного“java.lang.NullPointerException на Translate.getTranslate (Translate.java:39)»
UPD Нет более длинные ошибки приема. Однако я смущен своей следующей задачей. Я должен добавить одно пробел между большим количеством букв кода и тремя пробелами между словами. Ex: Если пользовательский ввод «Hey», выход должен быть «..... -.--» по сравнению с тем, что Im получает «.....-.--»
Заранее спасибо.
'index <= alphabet.length' должен быть' index
torquestomp