Мой код проверяет, имеет ли данная строка определенный формат. Первый символ строки должен быть заглавной буквой, а остальная часть строки должна быть любым числом от 1 до данного измерения.
Если первый символ строки содержит строку из алфавита массив, тогда код проверяет, содержит ли остальная часть числа число из массива чисел. Чтобы быть действительной координатой, оба условия должны быть истинными, если одно из них является ложным, оно не является действительной координатой. Я хочу вернуть логическое значение isValidCoordinate, но, тем не менее, IntelliJ говорит мне, что мне нужно инициализировать координату isValid. Почему я должен его инициализировать, логическое выражение зависит от условий «если».
Спасибо.
public static boolean validCoordinate(String coordinate, int dimension) {
boolean isValidCoordinate;
String [] alphabet = {"A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z"};
int [] numbers = new int [dimension];
int one = 1;
for(int i = 0; i < dimension; i++){
numbers[i] = one + i;
}
for(int i = 0; i < dimension; i++){
if((Character.toString(coordinate.charAt(0))).contains(alphabet[i])) {
for(int j = 0; j < dimension; j++) {
if ((coordinate.substring(1)).contains(Integer.toString(numbers[j]))) {
isValidCoordinate = true;
}
else {
isValidCoordinate = false;
}
}
}
else {
isValidCoordinate = false;
}
}
return isValidCoordinate;
}
Это мой окончательный код:
public static boolean validCoordinate(String coordinate, int dimension) {
boolean isValidCoordinate;
String [] alphabet = {"A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z"};
int [] numbers = new int [dimension];
int one = 1;
for(int i = 0; i < dimension; i++){
numbers[i] = one + i;
}
for(int i = 0; i < dimension; i++){
if((Character.toString(coordinate.charAt(0))).contains(alphabet[i])) {
for(int j = 0; j < dimension; j++) {
if ((coordinate.substring(1)).contains(Integer.toString(numbers[j]))) {
isValidCoordinate = true;
}
else {
isValidCoordinate = false;
}
}
}
else {
isValidCoordinate = false;
}
}
return true;
}