Я пытаюсь построить метод, который возвращает логическое значение:
public boolean isStringValid(String s){
boolean isValid;
String temp = null;
// only combinations of 'A','B','C' are allowed
for (int i = 0; i < s.length(); i++)
{
temp = s.substring(i, i+1);
if (temp.equals("A")|temp.equals("B")|temp.equals("C")){
isValid= true;
}else{
isValid= false;
}
}
return isValid;
}
Но я получаю сообщение об ошибке компилятора о том, что "локальная переменная isValid, возможно, не была инициализирована".
То, что я пытаюсь сделать, это взять строку и проверить каждую букву, если в строке найдена любая буква, отличная от A, B или C, метод isStringValid должен вернуть false. Только после того, как каждая буква будет проверена и определена, что она является A, B или C, метод может вернуть true.
Полагаю, у меня возникли проблемы с определением области действия локальных переменных. Каков подходящий способ возврата метода из блоков if / else? Если это невозможно, что бы вы посоветовали, это лучший способ создать это?
Спасибо в авданс
С наилучшими пожеланиями