Visualizzazione dei risultati da 1 a 3 su 3
  1. #1

    programma che calcola la media e la somma di una sequenza

    Ho cercato un pò sul forum ma non ho trovato niente che faccia al caso mio, vi espongo il mio problema.

    Definire una classe DataSet che calcoli la somma e la media di una sequenza di numeri interi con i metodi: void addValue(int x), int getSum(), double getAverage(); Suggerimento: memorizzate la somma e il conteggio dei valori.

    Allora io ho fatto così:
    /**
    *
    * Calcola la somma e la media di una sequenza di numeri interi.
    *
    */
    public class DataSet
    {
    public DataSet()
    {
    valori = 0;
    somma = 0;
    }
    /**
    * Aggiunge un valore
    * @param x valore da aggiungere alla sequenza
    */
    public void addValue(int x)
    {
    numero = x;
    valori++;

    }

    /**
    * Calcola la somma dei valori della sequenza
    * @return la somma dei valori della sequenza
    */
    public int getSum()
    {
    return somma = somma + numero;

    }

    /**
    * Calcola la media dei valori della sequenza
    * @return la media della sequenza
    */
    public double getAverage()
    {
    return somma / valori;
    }

    private int valori;
    private int somma;
    private int numero;

    }

    poi ho fatto il programma di collaudo:

    public class DataSetTester
    {
    public static void main(String[] args)
    {
    DataSet sequenza = new DataSet();
    sequenza.addValue(5);
    sequenza.addValue(5);
    sequenza.addValue(6);
    sequenza.addValue(6);
    System.out.println(sequenza.getSum());
    System.out.println("Valore previsto: 22");
    System.out.println(sequenza.getAverage());
    System.out.println("Valore previsto: 5");

    }

    }

    che mi ha dato il seguente risultato: 6
    Valore previsto: 22
    1.0
    Valore previsto: 5

    Ovviamente c'è un errore e io credo che sia nel fatto che non memorizza la somma, ma come posso fare per tenerne conto ad ogni addValue? Grazie anticipatamente per le risposte e la pazienza nel leggere il mio problema.

  2. #2
    Utente di HTML.it
    Registrato dal
    Aug 2002
    Messaggi
    8,013
    codice:
     public void addValue(int x) {
      numero = x;
      somma += numero;
      valori++;
    }
    
    
    public int getSum() {
      return somma;
    }
    <´¯)(¯`¤._)(¯`»ANDREA«´¯)(_.¤´¯)(¯`>
    "The answer to your question is: welcome to tomorrow"

  3. #3
    grz mille era banale come esercizio ma non mi stava venendo proprio come fare avevo già fatto quella modifica solo che non avevo poi cambiato il getSum...grz davvero.

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 © 2024 vBulletin Solutions, Inc. All rights reserved.