[EDIT!] Imprimir uma lista [duvida rapida]

2 respostas
I

Então, eu to com uma duvida no seguinte..

Imagine uma classe Carro (String nome). E eu quero na classe Main criar alguns objetos carro e adicionar em uma lista e depois imprimi-la.

O metodo para imprimir a lista tem que ser metodo da classe Main né? <- Só consegui fazer assim (metodo static da classe main que imprimi a lista com os carros adicionados).

Ou tem como eu criar um metodo na classe carro pra imprimir todos os carros criados? <---- Duvida é aqui, é possivel? Como?

EDIT: Olhem esse exemplo

package loja;

import java.util.*;

public class Atendente {
	
	private String nome;
	private double salario;
	protected double prejuizo;
	protected List<Atendente> lista;
	
	public Atendente(String nome, double salario) {
		super();
		setNome(nome);
		setSalario(salario);
		lista = new ArrayList<Atendente>();
	}

	
	public void setNome(String nome) {
		this.nome = nome;
	}

	
	public void setSalario(double salario) {
		this.salario = salario;	
		prejuizo += salario;
	}
	
	public double getPrejuizo() { 
		double preju=0;
		for(Atendente a : lista) {
			preju = preju + a.salario;
		}
		return preju;
	}
	
	public void add(Atendente a) { //TEM UM JEITO DIFERENTE PRA ADD UM OBJETO NA LISTA. FICA ESTRANHO A.ADD(A) ETC...
		lista.add(a);
	}
}
package loja;

public class Main {

	public static void main(String[] args) {
		
		Atendente a = new Atendente("José", 1200);
		a.add(a);
		Atendente b = new Atendente("Maria", 1000);
		a.add(b);
		
		System.out.println(a.getPrejuizo()); //Pq eu só consigo pegar o prejuizo completo (2200) se eu fizer a.add(a) e a.add(b).

		// Como faço pra pegar o prejuizo total?? To tornando o objeto 'a' como o "adicionador", só assim consigo pegar o prejuizo total =/
               // Ajudem por favor =/

	}

}

2 Respostas

gpd38
public class Main {

    static Atendente a, b;

    public static void main(String[] args) {

        a = new Atendente("José", 1200);
        a.add(a);
        b = new Atendente("Maria", 1000);
        a.add(b);

        //Prejuizo por variavel
        System.out.println(a.getPrejuizo());
        System.out.println(b.getPrejuizo());

        // Como faço pra pegar o prejuizo total??
        System.out.println(a.getTotalPrejuizo());


    }
}
public double getPrejuizo() {
        return prejuizo;
    }

    public double getTotalPrejuizo() {
        double preju = 0;
        for (Atendente a : lista) {
            preju = preju + a.salario;
        }
        return preju;
    }
I

Desse jeito eu ja sabia.

Eu tomo o objeto ‘a’ como adicionador de todos na lista neh? Só existe esse jeito?

E pra adicionar algo na lista, o meu metodo add está correto? Ou tem algum metodo melhor? Acho estranho a.add(a). hehe

Abraçpss

Criado 19 de maio de 2010
Ultima resposta 19 de mai. de 2010
Respostas 2
Participantes 2