Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 14
  1. #1

    esercizio Collection framework

    Ho fatto un esercizio, ora riporto il codice. il problema è che come risultato mi dà tutto zero.

    codice:
    publicclass Tipo {
    
    	private String frutta;
    privateintquantitaFrutta;
    privateintprezzo;
    privateintpeso;
    publicinttot;
    publicdoubletotale;
    
    
    public Tipo(String frutta, intquantitaFrutta, intprezzo, intpeso) {
    		this.frutta = frutta;
    this.quantitaFrutta = quantitaFrutta;
    		this.prezzo = prezzo;
    		this.peso = peso;
    	}
    
    
    	public String getFrutta() {
    returnfrutta;
    	}
    
    
    	public void setFrutta(String frutta) {
    		this.frutta = frutta;
    	}
    
    
    	public int getPrezzo() {
    returnprezzo;
    	}
    
    
    	public void setPrezzo(int prezzo) {
    		this.prezzo = prezzo;
    	}
    
    
    	public int getPeso() {
    returnpeso;
    	}
    
    
    	public void setPeso(int peso) {
    		this.peso = peso;
    	}
    
    
    	public int getQuantitaFrutta() {
    returnquantitaFrutta;
    	}
    
    
    	public void setQuantitaFrutta(int quantitaFrutta) {
    this.quantitaFrutta = quantitaFrutta;
    	}
    
    
    	public int pesoTotale() {
    inttot = peso * quantitaFrutta;
    returntot;
    	}
    
    
    	public int prezzoTotale() {
    		double totale = tot * (prezzo / 1000);
    return (int) totale;
    	}
    
    
    	public String toString() {
    return"Le " + frutta + " pesano " + tot + " Kg " + " e costano "
    				+ totale + ".\n";
    	}
    }
    codice:
    import java.util.ArrayList;
    import java.util.Iterator;
    import java.util.List;
    
    
    publicclass Frutta {
    
    
    	public static void main(String[] args) {
    		List<Tipo> listaFrutta = new ArrayList<>();
    		listaFrutta.add(new Tipo("mele", 4, 6, 200));
    		listaFrutta.add(new Tipo("Banane", 6, 4, 150));
    		listaFrutta.add(new Tipo("pere", 8, 3, 750));
    
    
    		Iterator<Tipo> iterator = listaFrutta.iterator();
    		iterator.hasNext();
    		iterator.next();
    		System.out.println(listaFrutta);
    
    
    	}
    
    
    }
    
    vediamo se qualcuno mi riesce ad aiutare grazie

  2. #2
    Alle proprietà di classe "tot" e "totale" non viene settato nessuno valore nel costruttore quindi il loro valore sarà sempre 0...
    codice:
     Iterator<Tipo> iterator = listaFrutta.iterator();
     iterator.hasNext();
     iterator.next();
    Qual'è il senso di ciò ?

  3. #3
    mmmmhh.... quindi i valori inseriti nell'arrayList della classe Frutta non vanno bene...

  4. #4
    infatti quella parte lì non ha senso....

  5. #5
    Se non spieghi cosa vuoi ottenere è difficile darti una mano....
    Nella classe frutta hai dichiarato due metodi "pesoTotale" e "prezzoTotale" che effettivamente assegnano a quelle due proprietà dei valori, ma non vengono mai richiamati nel pezzo di codice che hai postato.

  6. #6
    voglio che i valori dell'arrayList vengono presi, dandomi attraverso i due metodi "pesoTotale" e "prezzoTotale" la seguente riga ""Le " + frutta + " pesano " + tot + " Kg " + " e costano "+ totale + ".\n" per ogni tipo di frutto.
    spero di essere stato chiaro.
    grazie

  7. #7
    allora richiama i metodo all'interno del costruttore.
    codice:
    	public Tipo(String frutta, int quantitaFrutta, int prezzo, int peso)
    	{
    		this.frutta = frutta;
    		this.quantitaFrutta = quantitaFrutta;
    		this.prezzo = prezzo;
    		this.peso = peso;
    		this.tot = this.pesoTotale();
    		this.totale = this.prezzoTotale();
    	}
    attenzione (prezzo / 1000) con quei valori postati quel divisione fa si che il prezzo totale sia sempre 0

  8. #8
    perfetto grazie ..ci sono quasi...devo solo correggere qualcosa per ciò che riguarda fgli importi ma lo farò domani perché ora devo terminare. il risultato però me lo dò con un numero intero ma double. io tipo 6,5 e non 6.0. comunque domani vedo di risolvere...

  9. #9
    Allora il problema l'ho risolto così.

    codice:
    publicclass Tipo {
    
    	private String frutta;
    privateintquantitaFrutta;
    privateintprezzo;
    privateintpeso;
    publicinttot;
    publicfloattotale;
    
    
    public Tipo(String frutta, intquantitaFrutta, intprezzo, intpeso) {
    		this.frutta = frutta;
    this.quantitaFrutta = quantitaFrutta;
    		this.prezzo = prezzo;
    		this.peso = peso;
    		this.tot = this.pesoTotale();
    		this.totale = this.prezzoTotale();
    	}
    
    
    	public String getFrutta() {
    returnfrutta;
    	}
    
    
    	public void setFrutta(String frutta) {
    		this.frutta = frutta;
    	}
    
    
    	public int getPrezzo() {
    returnprezzo;
    	}
    
    
    	public void setPrezzo(int prezzo) {
    		this.prezzo = prezzo;
    	}
    
    
    	public int getPeso() {
    returnpeso;
    	}
    
    
    	public void setPeso(int peso) {
    		this.peso = peso;
    	}
    
    
    	public int getQuantitaFrutta() {
    returnquantitaFrutta;
    	}
    
    
    	public void setQuantitaFrutta(int quantitaFrutta) {
    this.quantitaFrutta = quantitaFrutta;
    	}
    
    
    	public int pesoTotale() {
    inttot = peso * quantitaFrutta;
    returntot;
    	}
    
    
    	public float prezzoTotale() {
    		float totale = (float) (Math.rint(tot *prezzo)/1000);
    returntotale;
    	}
    
    
    	public String toString() {
    return"Le " + frutta + " pesano " + tot + " gr " + " e costano "
    				+ totale + ".\n";
    	}
    }
    codice:
    import java.util.ArrayList;
    import java.util.Iterator;
    import java.util.List;
    
    
    publicclass Frutta {
    
    
    	public static void main(String[] args) {
    		List<Tipo> listaFrutta = new ArrayList<>();
    		listaFrutta.add(new Tipo("mele", 4, 6, 40));
    		listaFrutta.add(new Tipo("Banane", 6, 4, 50));
    		listaFrutta.add(new Tipo("pere", 8, 3, 70));
    
    
    //Iterator<Tipo> iterator = listaFrutta.iterator();
    //iterator.hasNext();
    //iterator.next();
    		System.out.println(listaFrutta);
    	}
    
    
    }
    il risultato che esce è questo: (corretto?)
    [Le mele pesano 160 gr e costano 0.96.
    , Le Banane pesano 300 gr e costano 1.2.
    , Le pere pesano 560 gr e costano 1.68.
    ]

    Ora vorrei fare in modo che viene fatta la somma dei costi in modo da darmi un totale della spesa effettuata.
    Quindi 0.96 + 1.2 + 1.68 = ...

  10. #10
    Quote Originariamente inviata da francesco51 Visualizza il messaggio
    Allora il problema l'ho risolto così.

    il risultato che esce è questo: (corretto?)
    [Le mele pesano 160 gr e costano 0.96.
    , Le Banane pesano 300 gr e costano 1.2.
    , Le pere pesano 560 gr e costano 1.68.
    ]
    Questo lo sai tu non so che logica ci deve essere dietro....

    Per quanto riguarda la somma, devi iterare sulla lista ed effettuare la somma del prezzo totale.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.