Esercizio Java ArrayList

di il
1 risposte

Esercizio Java ArrayList

Salve a tutti ragazzi e complimenti per il forum!! ....Praticamente ho un problema con il seguente esercizio :

Definire una classe Prodotto che includa soltanto:
le variabili istanza marca, nome_prod, prezzo_unitario, quantità
la definizione del costruttore che inizializza le variabili istanza
un metodo toString che restituisce una stringa contenente il nome del prodotto la marca e la quantità, separati da uno spazio;
un metodo getMarca che restituisce una stringa contenente la marca dell’oggetto su cui è invocato;
un metodo getNome che restituisce il nome;
un metodo getPrezzo che restituisce il prezzo del prodotto;
un metodo aumentaPrezzo, che aumenta il prezzo del 2%
Un metodo incrementaQuantità, che incrementa di 1 le unità di un prodotto.
Costruire una classe Spesa popolata di oggetti della classe prodotto. Il metodo che aggiunge un prodotto verifica se il prodotto è già presente e in tal caso ne incrementa solo la quantità. Ha un metodo per stampare i prodotti contenuti nella spesa.
Scrivere un programma che chiede all’utente di inserire i dati dei prodotti della spesa effettuata e calcola il costo complessivo della spesa. Aumenta il prezzo di tutti i prodotti di marca “Cirio”. Calcola nuovamente il totale. Stampa i prodotti acquistati.

Allora la classe Prodotto l'ho realizzata e non ci sono problemi a riguardo. Le difficoltà sono sulla seconda parte (quella in rosso). Ecco il codice realizzato da me finora :
public class Prodotto {
	
	private String marca;
	private String nome_prod;
	private double prezzo_unitario;
	private int quantità;
	
	public Prodotto(String marca,String nome_prod,int prezzo_unitario,int quantità)
	{
		this.marca = marca;
		this.nome_prod = nome_prod;
		this.prezzo_unitario = prezzo_unitario;
		this.quantità = quantità;
	}
	
	public String toString()
	{
		return nome_prod+" "+marca+" "+quantità;
	}

	public String getMarca()
	{
		return marca;
	}
	
	public String getNome()
	{
		return nome_prod;
	}
	
	public double getPrezzo()
	{
		return prezzo_unitario;
	}
	
	public int getQuantità()
	{
		return quantità;
	}
	
	public void aumentaPrezzo()
	{
		prezzo_unitario = (prezzo_unitario)*0.02;
	}
	
	public void incrementaQuantità()
	{
		quantità = quantità + 1;
	}
}

public class Spesa {

	private ArrayList <Prodotto> lista;
	
	public Spesa()
	{
		lista = new ArrayList<Prodotto>();
	}
	
	
		public void aggiungiProdotto(Prodotto p)
		{
			
			int i;	

			for(i=0;i<lista.size();i++) 
			{
				
							
		}
	}
	
	public void stampaLista()
	{
		int i;
		
		for(i=0;i<lista.size();i++)
		{
			System.out.println(lista.get(i).getNome()+" "+lista.get(i).getMarca());
		}
		System.out.println(lista.size());
	}
	
}
Il mio problema riguarda la realizzazione del metodo aggiungiProdotto...ho provato una serie svariata di modi, ma non sono riuscito. Qualcuno è così gentile da darmi una mano?? Vi ringrazio in anticipo.

1 Risposte

  • Re: Esercizio Java ArrayList

       public void aggiungiProdotto(Prodotto p){
    		if(!isPresente(p))
    			lista.add(p);
       }
       
       private boolean isPresente(Prodotto p) {
    	   for(int i=0;i<lista.size();i++)
       		if(lista.get(i).getNome_prod().equals(p.getNome_prod())&&lista.get(i).getMarca().equals(p.getMarca())) {
       			lista.get(i).incrementaQuantità();
       			return true;
       		}
    		return false;	  
       }
        
       public void stampaLista() {
    	   for(int i=0;i<lista.size();i++)
    		   System.out.println(lista.get(i).toString());
       }
    Se non capisci qualcosa fammelo sapere!
Devi accedere o registrarti per scrivere nel forum
1 risposte