Я изо всех сил пытался выяснить, почему мой код не возвращает правильные результаты в аркадном задании CodeFights chessBoardCellColor.
Учитывая две ячейки на стандартной шахматной доске, определите, имеют ли они одинаковый цвет или нет.
Входные данные представлены в виде двухзначных строк, состоящих из одной заглавной буквы A-H, за которой следует одна цифра 1-8.
boolean chessBoardCellColor(String cell1, String cell2) {
return isWhite(cell1)==isWhite(cell2);
}
boolean isWhite(String digits){
boolean state1=false;
boolean state2=false;
boolean white = false;
char[] digs = digits.toCharArray();
switch(digs[0]){
case 'A': state1=true;
case 'C': state1=true;
case 'E': state1=true;
case 'G': state1=true;
default : state1=false;}
switch(digs[1]){
case '1': state2=true;
case '3': state2=true;
case '5': state2=true;
case '7': state2=true;
default : state2=false;}
if(state1==state2){white=false;}
else{white=true;}
return white;
}
Я обдумывал это несколько часов, и я не могу понять, где я ошибся. Простите, если это совершенно очевидная проблема, которую мне не хватает.