Garoto Zumbi

Exercício 4

Escreva uma classe que represente um Garoto Zumbi, conforme as especificações:

Métodos

  • mostra - mostra o zumbi na tela conforme o exemplo, apresentando o nome do Zumbi abaixo dele
  • cresce - aumenta a idade do zumbi (se não passar o máximo) e o mostra
  • dorme - faz o zumbi dormir e o mostra
  • acorda - faz o zumbi acordar e o mostra


In [5]:
public class GarotoZumbi
{
    int idade;
    String estado;
    String nome;
    
    public GarotoZumbi(int pIdade, String pEstado, String pNome) {
        idade = pIdade;
        estado = pEstado;
        nome = pNome;
    }
    
    public void mostra()
    {
        // cabeleira
        if (idade >= 2)
            System.out.println("  *");
        
        // corpo com olhos
        if (estado.equalsIgnoreCase("acordado"))
            System.out.println(" o*o");
        else
            System.out.println(" -*-");
        
        // barba
        if (idade >= 3)
            System.out.println("*****");
        
        System.out.println(nome);
        
        System.out.println();
    }
    
    public void cresce()
    {
        if (idade < 3)
            idade++;
        mostra();
    }
    
    public void acorda()
    {
        estado = "acordado";
        mostra();
    }
    
    public void dorme()
    {
        estado = "dormindo";
        mostra();
    }
}

Exercicício 5

Crie três objetos instâncias da classe Garoto Zumbi. Cada um tem um nome diferente, uma idade diferente e está em um estado diferente.

Mostre os três garotos no console, depois realize sobre eles diferentes operações de crescimento e mudança de estado (acordado/dormindo).


In [8]:
GarotoZumbi primeiro = new GarotoZumbi(1, "acordado", "Asdrubal");
primeiro.mostra();

GarotoZumbi segundo = new GarotoZumbi(2, "dormindo", "Doriana");
segundo.mostra();

GarotoZumbi terceiro = new GarotoZumbi(3, "acordado", "Quincas");
terceiro.mostra();

primeiro.cresce();
segundo.acorda();
terceiro.dorme();
primeiro.cresce();
primeiro.dorme();
terceiro.acorda();


 o*o
Asdrubal

  *
 -*-
Doriana

  *
 o*o
*****
Quincas

  *
 o*o
Asdrubal

  *
 o*o
Doriana

  *
 -*-
*****
Quincas

  *
 o*o
*****
Asdrubal

  *
 -*-
*****
Asdrubal

  *
 o*o
*****
Quincas

Exercício 6

Você pode passar objetos como parâmetros de funções ou métodos da mesma maneira que você faz com valores. Use esse recurso para criar um método que compare dois zumbis e mostre no console o mais velho entre eles. Se tiverem a mesma idade não mostre nenhum.

Crie um exemplo que demonstre a comparação.

Como você não pode modificar a classe anterior, copie abaixo o código da classe anteior e acrescente o método solicitado.


In [ ]:

Exercício 7

Crie um método capaz de clonar zumbis, ou seja, o método recebe como parâmetro um nome e clona o zumbi (cria um objeto identico com todos os atributos) dando-lhe o novo nome.

Crie um exemplo que realize demonstre a clonagem.

Como você não pode modificar a classe anterior, copie abaixo o código da classe anteior e acrescente o método solicitado.


In [ ]: