Imprimir os produtos em ordem decrescente pela descrição

3 respostas
R

Prezados, amigos.

O código abaixo não compila, sem alterar a classe Principal, tentei efetuar as devidas alterações e não consegui.

Alguém para ajudar?

Código Mercadoria.java
package br.gov.bsr;
import java.math.BigDecimal;
public class Mercadoria extends Produto {
private BigDecimal preco;
public Mercadoria(int numero, String descricao, BigDecimal
preco) {
super(numero, descricao);
this.preco = preco;
}
public BigDecimal getPreco() {
return preco;
}
public void setPreco(BigDecimal preco) {
this.preco = preco;
}
}
Código Principal
package br.gov.brs;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
public class Principal {

public static void main(String[] args) {
Produto produto = new Mercadoria(1, "Arroz", new BigDecimal("5.25"));
Produto produto2 = new Produto(2, "Feijão");
Produto produto3 = new Produto(3, "Farinha");
Produto produto4 = new Mercadoria(4, "Alface", new BigDecimal("0.75"));
List<Produto> produtos = new ArrayList<Produto>();
produtos.add(produto);
produtos.add(produto2);
produtos.add(produto3);
produtos.add(produto4);
Collections.sort(produtos);
for(Produto p:produtos){
System.out.println(p.getDescricao());
}
}
}
Código Produto
package br.gov.brs;
public class Produto {
private int numero;
private String descricao;
public static String Produto;
public Produto (int numero, String descricao) {
this.numero = numero;
this.descricao = descricao;
}
public int getNumero() {
return numero;
}
public void setNumero(int numero) {
this.numero = numero;
}
public String getDescricao() {
return descricao;
}
public void setDescricao(String descricao) {
this.descricao = descricao;
}
}

3 Respostas

E

Ou a classe Produto deve implementar Comparable, ou você precisa criar um Comparator que ordene de acordo com a descrição.

Collections.sort , sem isso , não tem como adivinhar sua intenção (que é o de ordenar decrescentemente pela descrição)

R

Prezado, entanglement.

Como devo fazer isso?

Se for usar a classe Produto que implemente Comparable, como fica?

Se for para criar um Comparator, onde incluo? (crio novo arquivo .java?)

Nesses dois casos pode postar as correções?

Desculpe os questionamentos e obrigado pela ajuda?

Ramon

R

Resolvido!!!

Criado 9 de maio de 2013
Ultima resposta 9 de mai. de 2013
Respostas 3
Participantes 2