next up previous
Siguiente: jugador.java Subir: PIIt3cat Anterior: Programació i disseny

registre.java

 
public class registre{
    private int[] valors;
    private int afegits;
    private int màxim;
    
    public registre(int n){
	valors = new int[n];
        màxim = n;
        afegits = 0;}
    
    public int quants() {return(afegits);}
       
    public void afegeix(int v){
        if((afegits + 1) > màxim) 
	    {
                int quan = (int) (màxim * 0.2);
                // s'augmenta un 20% l'array
                if (quan == 0) quan = 1; 
		valors = augmentaIntArray(valors, quan);
                màxim = màxim + quan;
             }
        valors[afegits] = v;
        afegits++;}

    public boolean estàDins(int v){
	int comptador = 0; boolean està = false;
	while(!està && (comptador < afegits))
	    if(valors[comptador++] == v) està = true;
        return(està);
    } 

    public int quin(int v){
	int comptador = 0;
        while(valors[comptador] != v)
	    comptador++;
        return(comptador);
    }
  
    public int últim(){
	return(valors[afegits-1]);}

    public int suma(){
     int s = 0;
     for(int i = 0; i < afegits; i++)
         s += valors[i];
      return(s);}
  
    public int elnúm(int i){
	return(valors[i]);}

    public void imprimeix(){
	for(int i = 0; i < afegits; i++)
	    System.out.print(valors[i] + " ");
	}
// mètodes privats
// augmentaIntArray: augmenta la mida de l'array d'int 
// en una quantitat quant
   private static int[] 
           augmentaIntArray(int[] ant, int quant){
   int[] nou = new int[ant.length + quant];
   for(int i = 0; i < ant.length; i++)  nou[i] = ant[i];
   return (nou);}
}


VL - UPF