Mínimo VI: operador ternario

Consulta los principios del código minimalista en la introducción al primer reto.

En la pestaña Código encontrarás código al que le falta un solo carácter para pasar las pruebas. Sin embargo, tu objetivo es entregar una función lo más minimalista posible. Usa los consejos de la sección siguiente.

Escribe una función que devuelva las cadenas:

  • "both" si los dos valores booleanos dados, a y b, son true.
  • "first" si solo a es true.
  • "second" si solo b es true.
  • "neither" si tanto a como b son false.

Consejos

Las instrucciones if-else se pueden escribir en una sola línea con el operador condicional de Java.

Por ejemplo, este código:

static String startsWith(String name) {
  if ("AEIOU".indexOf(name.charAt(0)) >= 0) {
    return "vowel";
  } else {
    return "consonant";
  }
}

Se puede simplificar así:

static String startsWith(String name) {
  return "AEIOU".indexOf(name.charAt(0)) >= 0 ? "vowel" : "consonant";
}

Extra

Puedes encadenar tantos operadores condicionales como quieras. Sin embargo, encadenar demasiados reduce la legibilidad del código.

x > 50 ? "majority" : x < 50 ? "minority" : "draw"

Notas

  • Esta es una serie abierta: no hay una lista definitiva de temas para los retos. Si tienes sugerencias, compártelas en los Comentarios.
  • La legibilidad es un concepto subjetivo. ¡Hablemos de ello! Puedes dejar tu opinión en los Comentarios.
  • Puedes encontrar todos los ejercicios de esta serie aquí.