Ola amigos! Seguinte, tenho 2 classes: AdmEntregas e Entregas
import java.util.*;
public class AdmEntregas
{
private ArrayList<Entrega> listaEntregas;
public AdmEntregas()
{
listaEntregas = new ArrayList<Entrega>();
}
//adiciona entregas na lista
public void novaEntrega (Entrega ent)
{
listaEntregas.add(ent);
}
//remove entrega da lista apos entrega
public void darBaixaEntrega (int id)
{
int posicao = busca(id);
if(posicao >= 0)
{
listaEntregas.remove(id);
}
}
//retorna posicao de uma entrega por seu identificador;
//se eu nao encontrar retorno -1
public int busca(int idEntrega)
{
int i = 0;
int posicao = -1;
Entrega entrega;
int id;
for(i = 0; i < listaEntregas.size(); i++)
{
entrega = listaEntregas.get(i);
id = entrega.getIdentificador();
if(id == idEntrega)
{
posicao = i;
break;//sai do loop se achar;
}
}
return posicao;
}
//caucula o preco de quem nao tem preco,ou seja;
//o preco vale -1, para caucular use a formula
//10*peso*prioridade;
public void calcularPreços ()
{
for(Entrega entrega: listaEntregas)
{
if(entrega.getPreco() == -1)
{
entrega.setPreco(10*entrega.getPeso()*entrega.getPrioridade());
}
}
}
//imprimir todas as entregas com valor maior que R$ 1000;
public void listarEntregasCaras ()
{
Iterator<Entrega> lista = listaEntregas.iterator();
Entrega entrega;
while(lista.hasNext())
{
entrega = lista.next();
}
}
}
import java.util.*;
public class Entrega{
private int identificador;
private String origem;
private String destino;
private String conteudo;
private int prioridade; // 1 = a mais baixa
private double peso; //em kg
private double preco;
//construtor da classe Entrega
public Entrega(int identificador, String origem, String destino, String
conteudo, int prioridade, double peso){
this.identificador = identificador;
this.origem = origem;
this.destino = destino;
this.conteudo = conteudo;
this.prioridade = prioridade;
this.peso = peso;
this.preco = -1; //o valor -1 indica que o preco nao foi calculado
}
public int getIdentificador(){
return identificador;
}
public String getOrigem(){
return origem;
}
public String getDestino(){
return destino;
}
public String getConteudo(){
return conteudo;
}
public int getPrioridade(){
return prioridade;
}
public double getPeso(){
return peso;
}
public double getPreco(){
return preco;
}
public void setPreco(double p){
this.preco = p;
}
}
main para testar tudo
import javax.swing.*;
public class TestaEntrega
{
public static void main (String[] args)
{
int id = Integer.parseInt(JOptionPane.showInputDialog(null, "Digite o identificador do objeto"));
String orig = JOptionPane.showInputDialog(null, "Digite a origem do objeto");
String dest = JOptionPane.showInputDialog(null, "Digite o destino do objeto");
String cont = JOptionPane.showInputDialog(null, "Digite o conteudo do objeto");
int prior = Integer.parseInt(JOptionPane.showInputDialog(null, "Digite a prioridade do objeto"));
double peso = Double.parseDouble(JOptionPane.showInputDialog(null, "Digite o peso do objeto"));
Entrega e1 = new Entrega(id, orig, dest, cont, prior, peso);
AdmEntregas a1 = new AdmEntregas();
int identEnt = JOptionPane.showInputDialog(null, "Digite o N.o do identificador do objeto para adiciona-lo");
a1.novaEntrega(Entrega //variavel);
//JOptionPane.showMessageDialog(null, ""+e1.getIdentificador());
}
}
A duvida eh a seguinte...quero testar o metodo novaEntrega da classe AdmEntrega, porem na hora de passar a variavel a qual eu armazenei o numero da entrega, da erro, pois o parametro deste metodo so aceita dados do tipo Entrega...
Tambem tentei passar em vez de so o numero da entrega por parametro, passar todo o objeto entrega que criei, mas deu erro tambem...como posso fazer isso pessoal?