Baixe o app para aproveitar ainda mais
Prévia do material em texto
GABARITO | Avaliação Final (Discursiva) - Individual Semipresencial (Cod.:670862) Peso da Avaliação 4,00 Prova 34141792 Qtd. de Questões 2 Nota 10,00 Toda aplicação JavaSE deve ter o que é conhecido como ponto de entrada. Visto que uma aplicação desenvolvida através do paradigma de programação orientada a objetos é composta por diversas classes, pelo menos uma delas deve ter a responsabilidade de iniciar o processo de instanciação e troca de mensagens. Considerando o código fonte da classe Principal mostrada na figura a seguir, crie o código fonte da classe Aluno, sabendo que a matrícula é um inteiro e que o método calcularMedia() sempre retorna -1, pois sua implementação ainda não foi definida. Resposta esperada O acadêmico deverá elaborar um código fonte como o da figura, sendo que a ordem dos elementos pode variar sem problemas e o modificador da classe não precisa ser public, podendo ser default. Minha resposta package basico; public class Aluno { int matricula; String nome, turma; public double calculaMedia(){ return -1; } } O collections framework do Java possui alguns tipos que podem ser comparados com arrays, porém estes possuem mais recursos, eficiência e vantagens em relação ao array ou vetor normal. Além disso, o collections framework permite ordenar os objetos através de algum critério desejado, bastando implementá-lo. Um exemplo deste tipo de ordenação seria por nome, utilizando-se o atributo nome de uma classe Pessoa. Para desenvolver a comparação, deve ser feita a implementação da interface Comparable na classe desejada, além do método "compareTo". Neste contexto, desenvolva uma classe qualquer, na linguagem de programação Java, que realize a ordenação de uma lista de objetos através da interface Comparable. Apresente as duas classes criadas, uma com a implementação da interface Comparable, e a outra com um exemplo de execução da ordenação de uma lista do objeto do tipo da classe com implementação Comparable. Resposta esperada O acadêmico deve desenvolver uma classe com a interface Comparable, como a classe Carro implements Comparable a seguir exemplificada, na qual deve ter obrigatoriamente o método "compareTo". Além disso, deve ser desenvolvida uma segunda classe, conforme exemplo “ExemploComparable”, para instanciar a classe anterior (Comparable), como nas linhas 9 a 12, adicionando-a à lista (lista.add), linhas 16 a 20, e então invocar o método sort (“Collections.sort(lista)”). Minha resposta package exemplo_comparable; public class Carro implements Comparable { private int qtdPortas; private String modelo; public Carro(int qtdePortas, String modelo) { super(); this.qtdPortas = qtdPortas; this.modelo = modelo; } public int getQuantidadePortas() { return VOLTAR A+ Alterar modo de visualização 1 2 qtdPortas; } public void setQuantidadePortas (int qtdPortas) { this.qtdPortas = qtdPortas; } public String getmodelo() { return modelo; } public void setmodelo(String modelo) { this.modelo = modelo; } public int compareTo (Carro car) { return this.getmodelo().compareTo(car.getModelo()); } } --------- public class ExemploComparable { public static void main(String[] args){ Carro car1 = new Carro(2, "Gol"); Carro car2 = new Carro(4, "Fiesta"); Carro car3 = new Carro(3, "Palio"); Carro cará = new Carro(5, "Siena"); List lista = new ArrayList(); lista.add(car1); lista.add(car2); lista.add(car3); lista.add(cara); Collections.sort(lista); for (Carro carro : lista){ System.out.println("Modelo: " + carro.getmodelo()); } } }
Compartilhar