Risistemato
codice:
import java.io.*;
import java.util.*;
import java.math.*;

interface Set071210
{
	public BigDecimal getSize();
	public BigDecimal getMean();
	public BigDecimal[]getSet();
}

class SetOfNumbers implements Set071210
{
	private final BigDecimal size;
	private final BigDecimal [] set;
	private final BigDecimal media;
	private final BigDecimal somma;
	
	public static class Builder 
	{
		//parametri richiesti
		private  BigDecimal size;
		private  BigDecimal [] set;
		
		//parametri opzionali
		private  BigDecimal media=new BigDecimal(0.0);
		private  BigDecimal somma=new BigDecimal(0.0);
		
		public Builder(BigDecimal size, BigDecimal [] set)
		{
			this.size=new BigDecimal(size.toString()); 
			for(int i=0;i<set.length-1;i++)
			this.set=new BigDecimal(set[i].toString());
		}
		
		//i due metodi successivi li lascio ma non servono a nulla
		public Builder setMedia(BigDecimal val)
		{
			media=val;
			return this;
		}
		
		public Builder setSomma(BigDecimal val)
		{
			somma=val;
			return this;
		}
		
		
		public SetOfNumbers build()
		{
			return new SetOfNumbers(this);
		}
	}
			
		
	
	private SetOfNumbers(Builder builder)
	{
		size=builder.size;
		set=builder.set;
		media=builder.media;
		somma=builder.somma;
		
		for(int i=0;i<set.length-1;i++)
		    {
			somma=somma.add(set[i]);
		    }
		    
		    media=somma.divide(size,1);

	}
		
		public BigDecimal getSize()
		{
			return new BigDecimal(size.toString());
		}
		
		public BigDecimal getMean()
		{
			return new BigDecimal(media.toString());
		}
		
		public BigDecimal [] getSet()
		{
			for(int i=0;i<set.length;i++)
			return new BigDecimal (set[i].toString());
		}
		
	}
Credo sia corretto però ho problemi con i BigDecimal.Al momento di compilarlo ho questo errore:
codice:
Esame.java:37: incompatible types
found   : java.math.BigDecimal
required: java.math.BigDecimal[]
			this.set=new BigDecimal(set[i].toString());
			         ^
Esame.java:91: incompatible types
found   : java.math.BigDecimal
required: java.math.BigDecimal[]
			return new BigDecimal (set[i].toString());
Come sistemarlo?non ho molta dimestichezza con i BigDecimal. Grazie a tutti.