Percursos
/
Java
Java
/
Exercícios
/
Relatórios de jogos de futebol
Relatórios de jogos de futebol

Relatórios de jogos de futebol

Exercício de aprendizagem

Introdução

Instruções switch

Tal como uma instrução if/else, uma instrução switch permite-te alterar o fluxo do programa ao executar código de forma condicional. A diferença é que uma instrução switch só pode comparar o valor de uma expressão primitiva ou de uma string com valores constantes predefinidos.

Há algumas palavras-chave úteis quando usas uma instrução switch.

  • switch: esta palavra-chave permite-te declarar a estrutura do switch. É seguida da expressão ou da variável que vai alterar o resultado.
  • case: vais usar esta palavra-chave para declarar as diferentes possibilidades para o resultado.
  • break: a palavra-chave break é muito útil para parar a execução do switch no fim do fluxo pretendido. Se te esqueceres dela, o programa continua e pode dar origem a resultados inesperados.
  • default: como o nome indica, usa-a como resultado predefinido quando nenhum dos outros casos corresponde ao resultado da tua expressão.

Na sua forma mais simples, testam uma expressão primitiva ou uma string e tomam uma decisão com base no valor dela. Por exemplo:

String direction = getDirection();
switch (direction) {
    case "left":
        goLeft();
        break;
    case "right":
        goRight();
        break;
    default:
        // otherwise
        markTime();
        break;
}

Instruções

Estás a desenvolver um sistema para ajudar a equipa do site de um clube de futebol a fazer relatórios dos jogos. Os dados são recebidos de várias fontes e canalizados para um único fluxo depois de serem limpos.

1. Devolve as descrições dos jogadores com base no número da camisola

A equipa joga sempre em 4-3-3 e nunca aceitou a alteração de 1965 às regras que permite substituições, quanto mais plantéis alargados.

As descrições dos jogadores são as seguintes:

1 -> "goalie"
2 -> "left back"
3 & 4 "center back"
5 -> "right back"
6, 7, & 8 -> "midfielder"
9 -> "left wing"
10 -> "striker"
11 -> "right wing"

Implementa o método estático FootballMatchReports.onField() para devolver a descrição de um jogador com base no número da camisola.

FootballMatchReports.onField(10);
// => "striker"

2. Devolve "invalid" se o número da camisola não fizer parte da lista oficial

Modifica o método FootballMatchReports.onField() para devolver 'invalid' quando é processado um número de camisola fora do intervalo 1-11.

FootballMatchReports.onField(13);
// => "invalid"
Editar via GitHub A ligação abre numa nova janela ou separador
Java Exercism

Estás pronto para começar Relatórios de jogos de futebol?

Inscreve-te no Exercism para aprenderes e dominares Java com 26 conceitos158 exercícios, e mentoria humana real, tudo grátis.