import java.util.Stack;
import java.util.Hashtable;

//clase para probar 
//los diferentes conceptos sobre 
//clases de utilidad

//ejecute java Util <#clave1> <palabra1> <#clave2> <valor2>...<#clave_n> <valor_n>

//ejemplo --> java Util 1 uno 2 dos 3 tres 4 cuatro

public class Util{
	
	public static void main(String [] args){
		
		if(args.length < 2 || (args.length % 2)!=0){
			System.out.println(" Use java Util k1 v1 k2 v2 kn vn");
			System.exit(0);
		}
	    //Crear Hashtable capa inicial de 11	
		Hashtable ht=new Hashtable();
		Integer iAux;
		//creo un objeto pila
		Stack pila = new Stack();
		String aux;
		int total=0;
		for (int i=0; i < args.length; i = i + 2){
			iAux = new Integer (args[i]);
			//coloco en la tabla hash la combinacion clave valor
			ht.put(iAux,args[i+1]);
			//coloco en la pila la clave para usarla posteriormente
			pila.push(iAux);
		}
		
		//Recorre para sacar elementos de la pila e imprimirlos inversamente
		//a como fueron colocados en la tabla hash
		//adicionalmente sumo el total de las claves utilizando la
		//clase Integer
		while (!pila.empty() ){
			//Saca de la pila la clave
			iAux=(Integer)pila.pop();
			 //saca de la tabla	el valor asociado a la clave		
			aux=(String)ht.get(iAux);
			 //Imprime el valor que se saco de la tabla
			System.out.println(" VALOR: " + aux);
			//suma el valor de las claves
			total=total+iAux.intValue();
		}		
		//imprime el total de las claves
		System.out.println("EL TOTAL DE LAS CLAVES ES: " + total);
	}
}

