Percursos
/
Java
Java
/
Exercícios
/
Tim do marketing
Tim do marketing

Tim do marketing

Exercício de aprendizagem

Introdução

Nulabilidade

Em Java, o literal null é usado para indicar a ausência de um valor.

Em Java, todos os tipos de dados primitivos têm um valor predefinido e, por isso, nunca podem ser null. Por convenção, começam por uma letra minúscula, por exemplo int.

Os tipos de referência contêm o endereço de memória de um objeto e podem ter o valor null. Normalmente começam por uma letra maiúscula, por exemplo String.

Se tentares atribuir null a uma variável primitiva, ocorre um erro de compilação, porque a variável contém sempre um valor primitivo do tipo que lhe for atribuído.

//Throws compile time error stating the required type is int, but null was provided
int number = null;

Atribuir null a uma variável de referência não provoca um erro de compilação, porque as variáveis de referência podem ser nulas.

//No error will occur as the String variable str is nullable
String str = null;

Instruções

Neste exercício vais escrever código para imprimir crachás com o nome dos funcionários da fábrica.

1. Imprimir um crachá para um funcionário

Os funcionários têm um ID, um nome e o nome do departamento. As etiquetas dos crachás dos funcionários têm o seguinte formato: "[id] - name - DEPARTMENT". Implementa o método Badge.print() para devolver a etiqueta do crachá de um funcionário:

Badge badge = new Badge();
badge.print(734, "Ernest Johnny Payne", "Strategic Communication");
// => "[734] - Ernest Johnny Payne - STRATEGIC COMMUNICATION"

Repara que o departamento deve aparecer em maiúsculas na etiqueta.

2. Imprimir um crachá para um novo funcionário

Devido a uma peculiaridade do sistema informático, por vezes os novos funcionários ainda não têm um ID quando começam a trabalhar na fábrica. Como os crachás são obrigatórios, recebem um crachá temporário sem o prefixo do ID. Altera o método Badge.print() para suportar novos funcionários que ainda não têm um ID:

Badge badge = new Badge();
Badge.print(null, "Jane Johnson", "Procurement");
// => "Jane Johnson - PROCUREMENT"

3. Imprimir um crachá para o proprietário

Até o proprietário da fábrica tem de usar um crachá a toda a hora. No entanto, o proprietário não tem departamento. Nesse caso, a etiqueta deve imprimir "OWNER" em vez do nome do departamento. Altera o método Badge.print() para imprimir uma etiqueta para o proprietário:

Badge badge = new Badge();
badge.print(254, "Charlotte Hale", null);
// => "[254] - Charlotte Hale - OWNER"

Repara que é possível que o proprietário também seja um novo funcionário:

Badge badge = new Badge();
badge.print(null, "Charlotte Hale", null);
// => "Charlotte Hale - OWNER"
Editar via GitHub A ligação abre numa nova janela ou separador
Java Exercism

Estás pronto para começar Tim do marketing?

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