Esercizio reddito

di il
16 risposte

Esercizio reddito

È giusto questo esercizio? Ecco la consegna:
Una famiglia, alla fine di ogni mese, percepisce un reddito di 4300 euro. Nell'ipotesi che ogni mese spenda l'80% del suo reddito totale (compresi i risparmi dei mesi precedenti) e che per tutto l'anno guadagni sempre lo stesso importo mensile determinare quanto ha effettivamente speso la famiglia alla fine dell'anno.
package vacanze_estive_6;

/**
 *
 * @author OOO
 */
public class Vacanze_estive_6 {

    public static void main(String[] args) {

        int spesaTot = 0;
        int redditoTot = 4300;
        int ottantaPerCento = 0;

        for (int i = 0; i < 12; i++) {
            ottantaPerCento = redditoTot * 80 / 100;
            spesaTot += ottantaPerCento;
            redditoTot += 4300;
        }
        System.out.print(spesaTot);
    }

}
Sono stata a scervellarmi un sacco per fare te righe perché la mia testa è così lenta?

16 Risposte

  • Re: Esercizio reddito

    Credo tu debba togliere ogni mese ottantaPercento da spesaTot, perché se li ha spesi non li ha più per il mese successivo
  • Re: Esercizio reddito

    Ciao,

    ale99 ha scritto:


    Credo tu debba togliere ogni mese ottantaPercento da spesaTot
    probabilmente ale99 intendeva dire di sottrarre da redditoTot.

    Comunque io personalmente lo avrei fatto così:
    
    public static void main(String[] args) {
    
    		int spesaTot = 0;
    		int capitale = 0;
    		int ottantaPerCento = 0;
    
    		for (int i = 0; i < 12; i++) {
    			// arriva lo stipendio: incremento il capitale
    			capitale += 4300;
    			System.out.println("Capitale = " + capitale);
    
    			// calcolo l'80% del capitale...
    			ottantaPerCento = capitale * 80 / 100;
    			System.out.println("80% = " + ottantaPerCento);
    			System.out.println();
    
    			// ... lo aggiungo alle spese...
    			spesaTot += ottantaPerCento;
    
    			// ... e lo tolgo dal capitale rimanente
    			capitale -= ottantaPerCento;
    		}
    		System.out.print("Spesa totale: " + spesaTot);
    	}
    
    Credo che cambiare il nome della variabile "redditoTot" in "capitale" possa rendere le cose un po' più chiare.

  • Re: Esercizio reddito

    Ringrazio tutti e due. Forse così va meglio?
    package vacanze_estive_6;
    
    /**
     *
     * @author OOO
     */
    public class Vacanze_estive_6 {
    
        public static void main(String[] args) {
    
            int spesaTot = 0;
            int redditoTot = 4300;
            int ottantaPerCento;
    
            for (int i = 0; i < 12; i++) {
                ottantaPerCento = redditoTot * 80 / 100;
                spesaTot += ottantaPerCento;
                redditoTot -= ottantaPerCento;
                redditoTot += 4300;
            }
    
            System.out.print(spesaTot);
    
        }
    }
    
  • Re: Esercizio reddito

    Non ne sono sicuro... Secondo me il reddito iniziale dovrebbe essere 0. Poi dovresti PRIMA guadagnare e POI spendere.
  • Re: Esercizio reddito

    Così?
    package vacanze_estive_6;
    
    /**
     *
     * @author Paola
     */
    public class Vacanze_estive_6 {
    
        public static void main(String[] args) {
    
            int spesaTot = 0;
            int redditoTot = 0;
            int ottantaPerCento;
    
            for (int i = 0; i < 12; i++) {
                redditoTot += 4300;
                ottantaPerCento = redditoTot * 80 / 100;
                spesaTot += ottantaPerCento;
                redditoTot -= ottantaPerCento;
            }
    
            System.out.print(spesaTot);
    
        }
    }
    
  • Re: Esercizio reddito

    Secondo me così va bene... è uguale a quello che avevo postato io!
  • Re: Esercizio reddito

    Curiosità: Voi come avete fatto ad imparare java? Perché io a scuola non riesco seguire niente, riesco a campare perché il profe viene a darmi spiegazioni dopo, ma sinceramente vorrei fosse meglio di così.
    Sto scaricando vari libri su java, continuo a fare ricerche e aiuta proprio poco. I libri io continuo a leggere aiutarmi con google e tutorial di YouTube che a volte aiutano un po' ma faccio proprio fatica. Ci sarà un modo per andare meglio? Voi come avevate fatto?
    Coi libri non capisco nulla
  • Re: Esercizio reddito

    Io personalmente l'ho imparato all'università. Più che le lezioni, secondo me conta la passione e l'applicazione. Quindi studiare, leggere, sperimentare, provare, riprovare, ecc. Ed essere sempre curiosi, evitando di fare e rifare sempre le solite quattro cose.
  • Re: Esercizio reddito

    minomic ha scritto:


    Secondo me così va bene... è uguale a quello che avevo postato io!
    Grazie!
    Non ho ancora capito come funziona ++a...
  • Re: Esercizio reddito

    lolol ha scritto:


    Non ho ancora capito come funziona ++a...
    Ma dove lo abbiamo usato?
    O parli di un generico incremento di una variabile? Infatti ++a equivale al codice
    a = a+1
    Poi se mai si possono fare alcune differenza tra ++a e a++.
    Prova a chiarire meglio il tuo dubbio.
  • Re: Esercizio reddito

    minomic ha scritto:


    lolol ha scritto:


    Non ho ancora capito come funziona ++a...
    Ma dove lo abbiamo usato?
    O parli di un generico incremento di una variabile? Infatti ++a equivale al codice
    a = a+1
    Poi se mai si possono fare alcune differenza tra ++a e a++.
    Prova a chiarire meglio il tuo dubbio.
    In questo esercizio non l'abbiamo usato ma me lo chiedevo comunque perché l'ho visto da qualche parte. a++ so cos'è ++a, no ... Avevano provato a spiegarmelo ma non ho capito...
  • Re: Esercizio reddito

    Diciamo che incrementa la variabile "a", esattamente come ++a. Però ci sono alcune differenze.
    Ad esempio se io scrivo
    
    while(condizione)
        vettore[a++] = valore;
    
    significa che PRIMA inserisco il valore nella posizione "a" e POI incremento "a".

    Se invece scrivo
    
    while(condizione)
        vettore[++a] = valore;
    
    significa che PRIMA incremento la variabile "a" e POI inserisco il valore.

    Altro esempio:
    se scrivo
    
    int a = 1;
    int b = ++a;
    
    è diverso da
    
    int a = 1;
    int b = a++;
    
    Prova a capire i valori che "a" e "b" hanno dopo le istruzioni, poi esegui il codice e verifica.
  • Re: Esercizio reddito

    Ho capito il primo esempio e non il secondo...
  • Re: Esercizio reddito

    Hai provato ad eseguirlo? Prova a stampare i valori di "a" e "b" dopo queste righe di codice, sia nel primo caso sia nel secondo, e vedrai la differenza: "a" viene comunque incrementato, mentre "b"...
Devi accedere o registrarti per scrivere nel forum
16 risposte