Exercícios de Java: Equals, Enums e Comparação de Objetos
Classificado em Educação Artística
Escrito em em
português com um tamanho de 3,34 KB
Exercício 1
Código:
package br.com.exemplo.futebol;
public class Jogo {
public static void main(String[] args) {
Jogador cristiano = new Jogador("Cristiano Ronaldo", Posicao.MEIO_ATACANTE, 7);
Jogador ronaldo = new Jogador("Cristiano Ronaldo", Posicao.MEIO_ATACANTE, 7);
System.out.println(cristiano.equals(ronaldo));
System.out.println(cristiano == ronaldo);
}
}
package br.com.exemplo.futebol;
public enum Posicao {
GOLEIRO, ZAGUEIRO, LATERAL_DIREITA, LATERAL_ESQUERDA, VOLANTE, MEIO_CAMPISTA, MEIO_ATACANTE, PONTA, SEGUNDO_ATACANTE, CENTROAVANTE;
}Alternativas:
C. false false
Exercício 2
Código:
package br.com.exemplo.Pizza;
public class Pizzaria {
public static void main(String[] args) {
Pizza quatro = new Pizza("Quatro Queijo", Tamanho.MEDIA, 16.50);
Pizza queijo = new Pizza("Quatro Queijo", Tamanho.MEDIA, 16.50);
System.out.println(quatro.equals(queijo));
System.out.println(quatro == queijo);
System.out.println(quatro.equals("Quatro Queijo"));
}
}
package br.com.exemplo.Pizza;
public class Pizza {
private String nome;
}Resposta: E. NDA
Acredito que seja esta alternativa, pois a terceira comparação (true ou false) gera erro de Cast na linha Pizza outrapizza = (Pizza) obj;. O exercício 3 também apresenta uma exception, justamente devido ao tratamento de String.
Exercício 3
Implemente o código do método equals para que não ocorra uma exception.
Código:
package br.com.exemplo.JogoDeVideoGame;
public class CadastraJogo {
public static void main(String[] args) {
Jogo Guitar = new Jogo("Guitar Hero", Genero.MUSICA, 4);
Jogo Hero = new Jogo("Guitar Hero", Genero.MUSICA, 4);
Jogo Skyrim = new Jogo("Skyrim", Genero.RPG, 1);
System.out.println(Guitar.equals(Hero));
System.out.println(Guitar.equals("Guitar Hero"));
System.out.println(Guitar.equals(Genero.MUSICA));
System.out.println(Guitar.equals(7));
System.out.println(Guitar.equals(Skyrim));
}
}
package br.com.exemplo.JogoDeVideoGame;
public enum Genero {
ACAO, ESPORTE, RPG, CORRIDA, RACIOCINIO, LOGICA, AVENTURA, MUSICA;
}
package br.com.exemplo.JogoDeVideoGame;
public class Jogo {
private String nome;
private Genero genero;
private int MaximoDeJogadores;
public Jogo(String nome, Genero genero, int MaximoDeJogadores) {
this.nome = nome;
this.genero = genero;
this.MaximoDeJogadores = MaximoDeJogadores;
}
@Override
public boolean equals(Object obj) {
if (this == obj) return true;
if (obj == null || getClass() != obj.getClass()) return false;
Jogo outro = (Jogo) obj;
return MaximoDeJogadores == outro.MaximoDeJogadores
&& java.util.Objects.equals(nome, outro.nome)
&& genero == outro.genero;
}
public String getNome() {
return nome;
}
public Genero getGenero() {
return genero;
}
public int getMaximoDeJogadores() {
return MaximoDeJogadores;
}
}