Boa noite, eu tenho esse metodo aqui e no “for” tento fazer a chamada de peca por peca mas quando ele e rodado o resultado é a localização de memoria do getPecas().Como eu faço para fazer a chamada de peca por peca?
public static void imprimirReparos(ArrayList consertos){
System.out.println("AUTOMECÂNICA DO MANOEL");
System.out.println("========================================");
System.out.println("PEÇAS UTILIZADAS: ");
System.out.println("========================================");
for (Conserto c : consertos) {
System.out.println(c.getPecas());
}
System.out.println("========================================");
System.out.println("");
System.out.println("=== -PREÇO DO SERVIÇO- ===");
System.out.println("Valor do Reparo: " + c.maoDeObra());
}
Olá Cleyton.
Tente modificar o parâmetro do método para receber:
Arraylist<Conserto> consertos
, ao invés de apenas:
ArrayList consertos.
Não dar certo aparece erro em uma linha se eu faço essa troca
Poste o erro, se for possível.
Ou poste o código completo da classe Conserto.
import java.util.ArrayList;
public class Conserto
{
private ArrayList<Peca> pecas;
private Veiculo veiculo;
public Conserto(ArrayList<Peca> pecas, Veiculo veiculo) {
this.pecas = pecas;
this.veiculo = veiculo;
pecas = new ArrayList<>();
}
public Conserto(){
pecas = new ArrayList<>();
}
public ArrayList<Peca> getPecas() {
return pecas;
}
public void addPecas(Peca peca) {
this.pecas.add(peca);
}
public Veiculo getVeiculo() {
return veiculo;
}
public void setVeiculo(Veiculo veiculo) {
this.veiculo = veiculo;
}
public double precoPeca(ArrayList<Peca>pecas){
double total = 0;
for (Peca peca : pecas) {
total += peca.getPreco();
}
return total;
}
public double maoDeObra(){
return 1.3777*nPecasUsadas(pecas)*precoPeca(pecas);
}
public int nPecasUsadas(ArrayList<Peca> pecas){
int cont = 0;
for (Peca peca : pecas) {
cont++;
}
return cont;
}
}
Conseguir fazer aqui cara Brigadão pela a atenção 
Ficou assim:
public static void imprimirReparos(ArrayList<Conserto> consertos){
System.out.println("AUTOMECÂNICA DO MANOEL");
System.out.println("========================================");
System.out.println("PEÇAS UTILIZADAS: ");
System.out.println("========================================");
for (Conserto c : consertos) {
imprimirPecas(c.getPecas());
}
System.out.println("========================================");
System.out.println("");
System.out.println("=== -PREÇO DO SERVIÇO- ===");
System.out.println("Valor do Reparo: " + c.maoDeObra());
}
public static void imprimirPecas(ArrayList<Peca> pecas){
for(Peca peca: pecas){
System.out.println(peca.getId() + ") Nome: " + peca.getNome()
+ " Preço: " + peca.getPreco());
}
}