public class ValeursImpl implements Valeurs { private double[] valeurs; private double somme; public ValeursImpl(double[] valeurs) throws ValeurNegativeException { this.valeurs = valeurs.clone(); somme = 0; for (int i = 0; i < valeurs.length; i++) { if (valeurs[i] < 0) throw new ValeurNegativeException(i, valeurs[i]); somme += valeurs[i]; } } public double valeur(int i) { return valeurs[i]; } public void changerValeur(int i, double v) throws ValeurNegativeException { if (v < 0) throw new ValeurNegativeException(i, v); somme += v - valeurs[i]; valeurs[i] = v; } public int taille() { return valeurs.length; } public double somme() { return somme; } }