martes, 25 de septiembre de 2012

USO DE CLASE VECTOR CON CLASE FILE

DE LAS DOS PRÁCTICAS ANTERIORES INTEGRARLAS PARA AGREGAR CON UNA CAPTURA "claveArt, descripción, precio y existencia" en un archivo.

MANEJO DE ARCHIVOS


El manejar archivos y aplicar estructuras de datos es la parte inicial para saber como se administran la información en las bases de datos.
1. Para realizar esta práctica debe investigar las clases File, FileWriter, FileReader, PrintWriter y BufferedReadeer; estas clases pertenecen del paquete java.io.*;
2. Vea la siguiente liga
http://docs.oracle.com/javase/1.5.0/docs/api/java/io/File.html
3. Atienda la explicación del profesor y después codifique lo que se muestre.

public class FuncionesArchivo {
public String crear() {
try {

return "datos almacenado correctamente";
} catch (Exception e) {
return "error en almacenamiento!";
}
}
}

4. Escribir este código entre la llave inicial del "try" y antes del mensaje que retorna "datos almacenados correctamente!"
File arch = new File("d:\\almacenamiento.txt");
FileWriter fw = new FileWriter(arch);
PrintWriter pw = new PrintWriter(fw);
String datos = "papas";
pw.println(datos);
fw.close();

5. Para probar siga los siguiente puntos y desarrolle:

a) Crear una clase llamada "TestFile" que contenga el método principal.
b) Realice una instancia de la clase FuncionesArchivo llamado "objFA". c) Llame el miembro llamado "crear()" y.
d) Reciba el mensaje que devuelve este miembro (crear());

EJEMPLO CON CLASE VECTOR


La clase Vector es una clase genérica que sirve para almacenar valores de cualquier tipo esta clase deriva de la clase object.
Codificar este ejemplo.
UTILICE EL PAQUETE java.util.Vector;

import java.util.Vector;
CLASE TestVecto

public class TestVector {
public static void main(String args[]){
try {
KBReader captura = new KBReader();
Articulo objA = new Articulo();
VectorArticulo objVA = new VectorArticulo();
objVA.datosVector = new Vector();

System.out.println("Introduce clave del articulo:");
objA.setClaveArt(captura.getString());
objVA.datosVector.add(objA.getClaveArt());

System.out.println("Introduce descripción:");
objA.setDescripcion(captura.getString());
objVA.datosVector.add(objA.getDescripcion());

System.out.println("Introduce precio:");
objA.setPrecio(Double.parseDouble(captura.getString()));
objVA.datosVector.add(objA.getPrecio());

System.out.println("Introduce existencia:");
objA.setExistencia(Integer.parseInt(captura.getString()));
objVA.datosVector.add(objA.getExistencia());

objVA.setDatosVector(objVA.datosVector);

Funciones objF = new Funciones();
objF.crear(objVA);
} catch (Exception ex) {

}
}
}

CLASE Articulo

public class Articulo {
private String claveArt;
private String descripcion;
private double precio;
private int existencia;

public String getClaveArt() {
return claveArt;
}
public void setClaveArt(String claveArt) {
this.claveArt = claveArt;
}
public String getDescripcion() {
return descripcion;
}
public void setDescripcion(String descripcion) {
this.descripcion = descripcion;
}
public double getPrecio() {
return precio;
}
public void setPrecio(double precio) {
this.precio = precio;
}

public int getExistencia() {
return existencia;
}
public void setExistencia(int existencia) {
this.existencia = existencia;
}
}

CLASE KBReader

import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.sql.Connection;

public class KBReader {
protected Connection conn;
public String getString() throws Exception{
InputStreamReader isr = new InputStreamReader(System.in);
BufferedReader bfr = new BufferedReader(isr);
String s = bfr.readLine();
return s;
}
}

CLASE VectorArticulo
import java.util.Vector;

public class VectorArticulo {
public Vector datosVector = null;
public Vector getDatosVector(){
return datosVector;
}
public void setDatosVector(Vector datosVector){
this.datosVector = datosVector;
}
}


import java.util.Vector;

public class Funciones {
public void crear(VectorArticulo objVA){
System.out.println("\nDATOS FINALES... \n");
System.out.println(objVA.getDatosVector());
}
}

martes, 18 de septiembre de 2012

Segunda Modificación


Paso de mensaje (Objeto)

NOTA:
Para el caso de esta práctica solo será guiada recuerde que antes de la práctica se hicieron anotación y se guió para esta modificación.


La clase a modificar es para ver el paso de mensajes de objeto de tipo "Articulo".

1. Modificar la clase funciones agregando un método de nombre "create" que reciba un objeto de tipo "Articulo", con un modificador publico "public" y de tipo "String".

2. Reutilizando los objetos de la "Primer Modificación" pedir y almacenar en un objeto de tipo "Articulo" "objA", la información "claveArt, descripcion, precio y existencia".

3. Enviar a través de la instancia "objF" el objeto de tipo articulo.

4. Compile haciendo uso del empaquetado.

5. Ejecute haciendo uso del empaquetado.

6. Realizar anotaciones.

7. Fin

Primer Modificación



Paso de mensajes (Atributo)

La clase a modificar es para ver el paso de mensajes de un dato únicamente "claveArt".

1. Agregar a la clase que lleva el nombre de "Funiciones" un método llamado "alterno" de tipo "String", con modificador publico "public"; este va recibir un parámetro de tipo "String" llamado "claveArt".

2. En la clase principal (la que contiene el método main) hacer tres instancias (KBReader, Articulo y Funciones).

KBReader objkbr = new KBReader(); Articulo objA = new Articulo(); Funciones objF = new Funciones();

3. Hacer las importaciones correspondiente al paquete que lleva como nombre "secundario" y "elemento"
import secundario.*; import elemento.*;

4. Introducir un mensaje "Introduce clave:".

System.out.println("introduce clave:");

5. Llame el miembro "setClaveArt" de la clase Articulo y envié un parámetro que se obtenga a través de la clase "KBReader", utilizando el método "getString()".

objA.setClaveArt(objkbr.getString());

6. Envié al miembro llamado "alterno" a través de la instancia "objF" el parámetro de tipo String, e imprima lo que devuelve el miembro "alterno".
objF.alterno(objA.getClaveArt());

7. Compile haciendo uso del empaquetado.

8. Ejecute haciendo uso del empaquetado.

9. Realizar anotaciones.

10. fin

lunes, 17 de septiembre de 2012

Práctica

Introducción
Esta práctica servirá como un repaso de temas de programación y al mismo tiempo la continuación de temas para este semestre, como el uso de archivos y clases genéricas. Objetivo
Relacionar un Diagrama de Clases con la codificación de un programa.
Aprender a compilar y ejecutar un programa con una estructura de paquetes.
Aprender a utilizar archivos para administrar la información.

Actividades
Desarrollar aplicando los tres métodos de la clase Funciones. Compilar y Ejecutar.

Desarrollo
Con base al siguiente diagrama codificar.

Estructura de paquete a desarrollar
Recuerden que debe corresponder el nombre del paquete con cada importación y cada empaquetado.


CLASE Test (principal de proyecto)

CLASE Articulo

CLASE Funciones

Interfaz ImpFunciones

CLASE KBReader


Para compilar y ejecutar debe estar en el directorio src vea la figura
COMPILACIÓN


EJECUCIÓN