Sie sind auf Seite 1von 5

DEPARTAMENTO DE ENERGÍA Y MECÁNICA

CARRERA DE INGENIERÍA AUTOMOTRIZ

INFORME DE LABORATORIO No. 20

ASIGNATURA: CÓDIGO: NRC: NIVEL: SEMANA CLASE: DURACIÓN:


PROGRAMACIÓN II COMP- 2099 II VII 6 HORAS
15083
DEPARTAMENTO: CARRERA: ÁREA DEL CONOCIMIENTO: TEMA:
ENERGÍA Y MECÁNICA INGENIERÍA PROGRAMACIÓN HASHTABLE
AUTOMOTRIZ
DOCENTE: ALUMNO: FECHA REALIZACIÓN: EJE DE FORMACIÓN:
ING. LUIS ALBERTO GUERRA CHACON CLAUDIO 09-JUNIO-2016 PROFESIONAL
CRUZ MsC SONIA MARLENE FECHA DE ENTREGA:
13-JUNIO-2016

A. FUNDAMENTACIÓN:

Clase Hashtable
Representa un tipo de colección basada en claves, donde los objetos almacenados en la misma
(valores) no tienen asociado un índice numérico basado en su posición, sino un clave que lo identifica
de forma única dentro de la colección, una clave puede ser cualquier tipo de objeto.
La utilización de colecciones basadas en claves resulta útil en aquellas aplicaciones en las que se
requieren realizar búsquedas de objetos a partir de un dato que lo identifica. Por ejemplo, si se desea
gestionar una colección de objetos de tipo “empleado” puede resultar más práctico almacenarlos en
un ashtable, asociándole como clave la cedula de identidad, que guardándolos en un arrayList en el
que a cada empleado se le asigna un índice según el orden de almacenamiento
lista.put (k, n);
Indica si la clave especificada existe o no en la colección
put (k, n);
Añade a la colección el objeto n, asignándole la clave especificada por key.
En caso de que exista esa clave en la colección, el objeto que tenía asignada esa clave se sustituye
por el nuevo objeto, devolviendo el objeto sustituido.
lista.remove (k);
Elimina de la colección el valor cuya clave k se especifica en el parámetro. En caso de que no exista
ningún objeto con esa clave, no hará nada y devolverá null; si existe, eliminara el objeto y el mismo
será devuelto por el método remove( ).
keys(); Devuelve un objeto enumeración que permite iterar sobre el conjunto de claves.
hasMoreElements( ); Indica si hay más elementos por recorrer en la colección. Cuando el objeto
enumeration la llamada a este método devolverá false.
nextElement( ); La llamada al metodo nextElement ( ) sobre un objeto Enumeration, provoca que este
pase a apuntar al siguiente objeto de la colección. Devolviendo el nuevo objeto apuntado. Inicialmente
un enumeración se encuentra apuntado a la posición que esta antes del primer objeto de la colección,
por lo que la primera llamada al nextElement ( ) devolverá el primer objeto.

get (); Devuelve el valor que tiene asociado la clave que se indica en el parámetro; en caso de que no
exista ningún objeto con esa clave asociada devolverá null.

B. DESCRIPCIÓN:

Éste laboratorio está formado por un ejercicio:

1. Diseñar un algoritmo con el hashatable.

C. OBJETIVO:

Elaborar dos algoritmos que permita comprender del uso en el ArrayList y Hashtable en el proyecto
“Sistema de Alarma del Automóvil Chevrolet Optra 1.8”

D. PROYECTO:

1. Codifique un algoritmo utilizando el Hashtable en el Proyecto “Sistema de Alarma del Automóvil


Chevrolet Optra 1.8”

E. TAREAS A REALIZAR:

1. Use el Hashtable en el Proyecto “Sistema de Alarma del Automóvil Chevrolet Optra 1.8 e ingrese los
atributos mediante opciones.

F. ANÁLISIS:

ANÁLISIS DE DATOS:

private atributos String;


private atri String;
private cod String;
private opcion String;
private codi String;
private n String;
private k String;

ANÁLISIS DE FUNCIONES:

public Hastable ();


public println ();
public BufferedReader ();
public readLine ();

G. DISEÑO:

DISEÑO LÓGICO:
Sistema_Alarma_Hashtable
- atributos :
- atri :
- cod :
- codi :
- n :
- k :
- opcion :
+ Hastable ()
+ println ()
+ BufferedReader ()
+ readLine ()

DISEÑO FÍSICO:

Sistema_Alarma_Hashtable
- atributos : string
- atri : string
- cod : string
- codi : string
- n : string
- k : string
- opcion : string
+ Hastable ()
+ println () : string
+ BufferedReader ()
+ readLine () : string

H. IMPLEMENTACIÓN:

/*
*/
package lab32_proyectohashtable;

/**
*
* @author CHACON CLAUDIO SONIA
*/
import java.io.*;
import java.util.*;
public class LAB32_ProyectoHashtable {
/**
* @param args the command line arguments
*/
public static void main(String[] args)throws IOException {
// TODO code application logic here
Hashtable atributos=new Hashtable();
String opcion;
BufferedReader bf=new BufferedReader (new InputStreamReader(System.in));
do{
System.out.println("Elegir opcion: \n");
System.out.println("1. Añadir Atributo: ");
System.out.println("2. Eliminar Atributo: ");
System.out.println("3. Mostrar todos los Atributos: ");
System.out.println("4. Salir: ");

opcion=bf.readLine();
switch (Integer.parseInt(opcion)){
case 1:
String atri,cod;
System.out.println("Ingrese el Atributo: ");
atri=bf.readLine();
System.out.println("codigo: ");
cod=bf.readLine();
almacenaAtributo(atri, cod, atributos);
break;
case 2:
String codi;
System.out.println("Ingrese el codigo del atributo: ");
codi=bf.readLine();
eliminarAtributo(codi, atributos);
break;
case 3:
mostrarTodos (atributos);
break;
}
}
while(!opcion.equals("4"));
}
static void almacenaAtributo(String n, String k, Hashtable lista){
if(!lista.containsKey(k)){
lista.put(k,n);
}
}
static void eliminarAtributo(String k, Hashtable lista){
if(lista.containsKey(k)){
lista.remove(k);
}
}
static void mostrarTodos (Hashtable lista){
Enumeration claves=lista.keys();

while (claves.hasMoreElements()){
String k=(String)claves.nextElement();
System.out.println(k+ " - "+lista.get(k));}
}
}

I. PRUEBAS:

PRUEBA DE CAJA NEGRA:

PRUEBA DE CAJA BLANCA:


J. Reporte

REQUERIMIENTOS FUNCIONALES ANALISIS DISEÑO IMPLEMENTACIÓN O PRUEBAS TOTAL

Hastable ();
println ();
BufferedReader ();

public readLine ();


CALIFICACIÓN

K. RESULTADOS Y CONCLUSIONES:

Se elaboró dos programas usando Hashtable, y se ingresó datos al usuario al finalizar se imprime lo
que se ha ingresado por teclado de una manera ordenada y se puede escoger opciones.

L. ACTIVIDADES SEGÚN CRONOGRAMA:

VIGESIMA ENTREGA: 13 de junio del 2016


HASHTABLE PROYECTO

M. REFERENCIAS BIBLIOGRÁFICAS:

Nombre de la obra: Apuntes del profesor


Nombre de autor(es): Ing. Luis Alberto Guerra Cruz
Editorial: ESPE
Año de edición: 2016
Operaciones: https://docs.oracle.com/javase/tutorial/java/nutsandbolts/arrays.html

Das könnte Ihnen auch gefallen