A execução do código a seguir, escrito em Java, retornará o ...

Comentários
Veja os comentários dos nossos alunos
Função principal:
- boolean flag = Check("STM");
- System.out.println(flag);
A função Check("STM") é chamada.
Dentro da função Check(String s):
- if(s.length() == 0 || s.length() == 1) return true;
Não entra aqui, pois s.length() é 3.
- if(s.charAt(0) == s.charAt(s.length() - 1))
- s.charAt(0) é 'S'
- s.charAt(2) é 'M'
Como 'S' != 'M', essa condição é falsa, então não entra na recursão.
- return false;
Como os caracteres extremos são diferentes, a função conclui que não é um palíndromo e retorna false.
Errado! O código é um juiz de palíndromos (palavras iguais de trás pra frente, como "ovo"). Ele compara a primeira letra ('S') com a última ('M') de "STM". Como são diferentes, ele imediatamente grita "Falso!" ♂️ e encerra o caso.
Clique para visualizar este comentário
Visualize os comentários desta questão clicando no botão abaixo