Transformar tipos de dados mistos

Crie um método que transforme cada elemento de um array do tipo Object[] da seguinte forma:

  • Some 1 a cada Integer par. Deixe os inteiros ímpares inalterados.
  • Coloque em maiúscula o primeiro caractere de cada String e depois acrescente "!".
  • Inverta o valor de cada Boolean.

Exemplos

Program.changeTypes(new Object[] { "a", 12, true })
➞ new Object[] { "A!", 13, false }

Program.changeTypes(new Object[] { 13, "13", "12", "twelve" })
➞ new Object[] { 13, "13!", "12!", "Twelve!" }

Program.changeTypes(new Object[] { false, "false", "true" })
➞ new Object[] { true, "False!", "True!" }

Notas

  • As entradas contêm apenas inteiros, strings não vazias e valores booleanos.
  • Não há valores de ponto flutuante.
  • Nenhuma string mistura letras e dígitos.
  • Embora o exercício pareça fácil, procure manter seu código o mais claro e legível possível.