import java.util.*;

/* 
  Calcola i valori min, max e medio di un array di numeri interi
  Autore: Pietro Frasca, Marzo 2002
*/
 
public class maxmin{
  private int[] A=new int[10]; 
  private int MIN;
  private int MAX;
  
  maxmin(){
    // Costruttore
    // Carica l'array A con numeri interi casuali compresi tra 1 e 100
    for (int i=0;i<10;i++){
      A[i]=(int)(Math.random()*100)+1;
      System.out.println(A[i]);}
    MIN=A[0]; // pone il MIN pari al primo elemento dell'array
    MAX=A[0]; 
  
}
  public int min(){
    // Trova il valore minimo di A 
    for (int i=1;i<10;i++)
      if (A[i]<MIN) MIN=A[i];
    return MIN;
  } 
           
  public int max(){
    // Trova il valore massimo di A
    for (int i=1;i<10;i++)
      if (A[i]>MAX) MAX=A[i];
    return MAX;
  } 
  
  public float middle(){
    // Calcola il valore medio di A 
    float somma=0;
    for (int i=0;i<A.length;i++)
      somma=somma+A[i];   
    return somma/A.length;
  }
  public int max1(){
     /* trova il valore massimo di A utilizzando la classe di utilità Arrays:
	A viene prima ordinato mediante il metodo sort e quindi viene ritornato l'ultimo elemento
      dell'array A ordinato.
     */ 
     
     Arrays.sort(A); // ordina l'array A in modo crescente: primo elemto è il MIN, ultomo elemente è il MAX
     return A[A.length-1];// ritorna l'ultimo elemente di A --> il massimo
  }    
  public static void main(String[] args){
    maxmin test=new maxmin(); // crea oggetto test
    int min=test.min();// Calcola il minimo  
    int max=test.max();//Calcola il massimo
    float middle=test.middle();// Calcola il valore medio
    int max1=test.max1(); // calcola il massimo (utilizzando la classe Array)
    System.out.println("Min="+min+" " +"Max="+max+" Medio="+middle);// visualizza i risultati
   
  }
}
