Apenas a título de curiosidade, você poderia ter usado o comando ternário para deixar o código mais enxuto.
Exemplo: no código abaixo temos um if/else simples:
if ( temCarteira.toUpperCase() == "S" ) {
mostra("Pode dirigir");
} else {
mostra("Nao Pode dirigir");
}
O comando ternário, nada mais é, que um if/else escrito de forma linear. Segue a sintaxe do comando ternário:
<condição> ? <expressão caso condição seja verdadeira> : <expressão caso condição seja falsa>;
Escrevendo o código do exemplo como um comando ternário, temos:
temCarteira.toUpperCase() == "S" ? mostra("Pode dirigir") : mostra("Nao Pode dirigir");
Porém, como os dois resultados (verdadeiro e falso) executam o mesmo comando "mostra", o código ainda poderia ser melhorado usando o comando ternário como parâmetro da função mostra, da seguinte forma:
mostra(temCarteira.toUpperCase() == "S" ? "Pode dirigir" : "Nao Pode dirigir");