Monografias.com > Computación > Programación
Descargar Imprimir Comentar Ver trabajos relacionados

Proyecto final Programación I: JAVA



  1. Introducción
  2. Programa
  3. Explicación del
    programa
  4. Programa Corriendo
  5. Conclusión

Introducción

El lenguaje de
programación Java fue originalmente desarrollado
por James Gosling de Sun Microsystems (la
cual fue adquirida por la compañía Oracle) y
publicado en 1995 como un componente fundamental de
la plataforma Java de Sun Microsystems.
Su sintaxis deriva mucho de C y C++,
pero tiene menos facilidades de bajo nivel que
cualquiera de ellos. Las aplicaciones de Java son
generalmente compiladas a bytecode (clase
Java) que puede ejecutarse en cualquier máquina
virtual Java (JVM) sin importar la arquitectura de la
computadora subyacente.

OBJETIVO

Para demostrar el uso de Java se
creó un programa que tiene por objetivo organizar CD"s y
DVD"s con los siguientes datos:

Orden
numéricoTituloDetalleContenidoGenero

Programa

import java.io.*;

class PPP

{

public static class disco

{

String Titulo;

String Contenido;

String Detalle;

String Genero;

int num;

}

static int ta=0;

public static void main(String
[]arg)throws IOException

{ disco x=new disco();

disco [] vector;

int opcion=0;

BufferedReader w= new
BufferedReader(new
InputStreamReader(System.in));

do{

System.out.println("——————————————————–");

System.out.println("CD/DVDn
1:Registrarn 2:Listadon 3:Ordenar por titulon 4:Ordenar por
Numeron 5:Borrar todon 6:Buscar por titulon 7:Buscar por
numeron 8:Salir");

System.out.println("——————————————————–");

opcion=Integer.parseInt(w.readLine());

switch(opcion){

case 1:

try{

System.out.println("Escriba el
titulo ");

x.Titulo=w.readLine();

System.out.println("Escriba el
contenido ");

x.Contenido=w.readLine();

System.out.println("Escriba algun
detalle");

x.Detalle=w.readLine();

System.out.println("Escriba el
genero ");

x.Genero=w.readLine();

System.out.println("Escriba el
numero ");

x.num=Integer.parseInt(w.readLine());

archivar(x);

}

catch(NumberFormatException
ex){

System.out.println("Error!! nota
es entero!!"); }

break;

case 2:
lista_todo();

break;

case 3:
vector=copia_archivo_a_vector();

vector=ordena(vector);

borrar_todo();

copia_del_vector_al_archivo(vector);

lista_todo();

break;

case 4:
vector=copia_archivo_a_vector();

vector=ordenanum(vector);

borrar_todo();

copia_del_vector_al_archivo(vector);

lista_todo();

break;

case 5:
Borrar();

break;

case
6:vector=copia_archivo_a_vector();

vector=buscartit(vector);

break;

case
7:vector=copia_archivo_a_vector();

vector=buscarnum(vector);

break;

}

}while(opcion!=8);

System.out.println("GRACIASnPROGRAMA DESARROLLADO
POR MAURICIO JIMENEZ");

}

//————————————–

public static void archivar(disco
z)throws IOException

{

FileOutputStream archivo_logico =
new FileOutputStream("PPP.TXT",true);

DataOutputStream data=new
DataOutputStream(archivo_logico);

data.writeUTF(z.Titulo);

data.writeUTF(z.Contenido);

data.writeUTF(z.Detalle);

data.writeUTF(z.Genero);

data.writeInt(z.num);

archivo_logico.close();

}

//—————————————————————–

public static void
lista_todo(){

disco z=new disco();

try

{

FileInputStream fi=new
FileInputStream("PPP.TXT");

System.out.println("LISTADO DEL
ARCHIVO");

DataInputStream data=new
DataInputStream(fi);

System.out.println("ttNUMEROttTITULOttDETALLEttGENEROttCONTENIDO");

while(true)

{

z.Titulo=data.readUTF();

z.Contenido=data.readUTF();

z.Detalle=data.readUTF();

z.Genero=data.readUTF();

z.num=data.readInt();

System.out.println("tt"+z.num+"tt"+z.Titulo+"tt"+z.Detalle+"tt"+z.Genero+"tt"+z.Contenido);

}

} catch (FileNotFoundException e)
{

System.out.println("+++ El archivo
no existe!!!!!");

}

catch (EOFException e)

{

System.out.println("termino la
lectura");

} catch (IOException e) {

System.out.println("error en
ioexception");

}

}

//——————————————————

public static void
borrar_todo()throws IOException

{ FileOutputStream
archivo_logico;

archivo_logico = new
FileOutputStream("PPP.TXT");

archivo_logico.close();

}

//——————————————————–

public static disco []
copia_archivo_a_vector(){

disco []z=new disco [20];

ta=0;

try

{

FileInputStream fi=new
FileInputStream("PPP.TXT");

DataInputStream data=new
DataInputStream(fi);

while(true)

{ z[ta]=new
disco();

z[ta].Titulo=data.readUTF();

z[ta].Contenido=data.readUTF();

z[ta].Detalle=data.readUTF();

z[ta].Genero=data.readUTF();

z[ta].num=data.readInt();

ta++;

}

} catch (FileNotFoundException e)
{

System.out.println("+++ El archivo
no existe!!!!!");

}

catch (EOFException e)

{

} catch (IOException e) {

System.out.println("error en
ioexception");

}

return (z);

}

//——————————————————–

public static void
copia_del_vector_al_archivo(disco z[])throws
IOException

{

FileOutputStream archivo_logico =
new FileOutputStream("PPP.TXT",true);

DataOutputStream data=new
DataOutputStream(archivo_logico);

for(int
i=0;i<<em>ta;i++){

data.writeUTF(z[i].Titulo);

data.writeUTF(z[i].Contenido);

data.writeUTF(z[i].Detalle);

data.writeUTF(z[i].Genero);

data.writeInt(z[i].num);

}

archivo_logico.close();

}

//———————————————————

public static disco [] ordena(disco
z[])

{

disco aux=new disco();

for(int
i=0;i<<em>ta;i++){

for(int
j=i;j<<em>ta;j++){

if(z[i].Titulo.compareTo(z[j].Titulo)>0){

aux=z[i];

z[i]=z[j];

z[j]=aux;

}

}

}

return (z);

}

public static disco []
buscarnum(disco z[])throws IOException

{

disco aux=new disco();

int b;

BufferedReader w= new
BufferedReader(new
InputStreamReader(System.in));

System.out.println("Que numero
desea buscar?");

b=Integer.parseInt(w.readLine());

for(int
i=0;i<<em>ta;i++){

if(z[i].num==b){

System.out.println("tt"+z[i].num+"tt"+z[i].Titulo+"tt"+z[i].Detalle+"tt"+z[i].Genero+"tt"+z[i].Contenido);

}

}

return (z);

}

public static disco []
buscartit(disco z[])throws IOException

{

disco aux=new disco();

String b;

BufferedReader w= new
BufferedReader(new
InputStreamReader(System.in));

System.out.println("Que titulo
desea buscar?");

b=w.readLine();

for(int
i=0;i<<em>ta;i++){

if(z[i].Titulo.compareTo("b")==0){

System.out.println("tt"+z[i].num+"tt"+z[i].Titulo+"tt"+z[i].Detalle+"tt"+z[i].Genero+"tt"+z[i].Contenido);

}

}

return (z);

}

public static disco []
ordenanum(disco z[])

{

disco aux=new disco();

for(int
i=0;i<<em>ta;i++){

for(int
j=i;j<<em>ta;j++){

if(z[i].num>z[j].num){

aux=z[i];

z[i]=z[j];

z[j]=aux;

}

}

}

return (z);

}

public static void
Borrar()throws IOException

{ FileOutputStream
archivo_logico;

archivo_logico = new
FileOutputStream("PPP.TXT");

archivo_logico.close();

}

//———————————————————

Explicación del
programa

El programa está hecho a base de
Archivos, es decir que todo lo guarda en la memoria del disco
duro y cada vez que se vuelva a abrir el programa los datos
estarán guardados sin la necesidad de un base de
datos.

El programa principal desplega un
menú que es el siguiente:

System.out.println("——————————————————–");

System.out.println("CD/DVDn
1:Registrarn 2:Listadon 3:Ordenar por titulon 4:Ordenar por
Numeron 5:Borrar todon 6:Buscar por titulon 7:Buscar por
numeron 8:Salir");

System.out.println("——————————————————–");

opcion=Integer.parseInt(w.readLine());

switch(opcion)

Pide al usuario una acción que
será realizada por el programa, cada opción se
encuentra en una función diferente

Para archivar el programa se usara la
siguiente función

public static void archivar(disco
z)throws IOException

{

FileOutputStream archivo_logico =
new FileOutputStream("PPP.TXT",true);

DataOutputStream data=new
DataOutputStream(archivo_logico);

data.writeUTF(z.Titulo);

data.writeUTF(z.Contenido);

data.writeUTF(z.Detalle);

data.writeUTF(z.Genero);

data.writeInt(z.num);

archivo_logico.close();

}

Para desplegar un listado usaremos esta
función

public static void
lista_todo(){

disco z=new disco();

try

{

FileInputStream fi=new
FileInputStream("PPP.TXT");

System.out.println("LISTADO DEL
ARCHIVO");

DataInputStream data=new
DataInputStream(fi);

System.out.println("ttNUMEROttTITULOttDETALLEttGENEROttCONTENIDO");

while(true)

{

z.Titulo=data.readUTF();

z.Contenido=data.readUTF();

z.Detalle=data.readUTF();

z.Genero=data.readUTF();

z.num=data.readInt();

System.out.println("tt"+z.num+"tt"+z.Titulo+"tt"+z.Detalle+"tt"+z.Genero+"tt"+z.Contenido);

}

} catch (FileNotFoundException e)
{

System.out.println("+++ El archivo
no existe!!!!!");

}

catch (EOFException e)

{

System.out.println("termino la
lectura");

} catch (IOException e) {

System.out.println("error en
ioexception");

}

}

Ya para el resto de las opciones las
funciones son mas pequeñas y fáciles de
entender

Programa
Corriendo

A continuación veremos capturas de
pantalla para demostrar el funcionamiento del programa

Monografias.com

Monografias.com

Monografias.com

Monografias.com

En este listado podemos observar un
pequeño error debido a la doble tabulación que
existe, cuando un String es muy largo la doble tabulación
se alarga más de lo debido.

Conclusión

Este programa demuestra todo lo aprendido
en la materia de programación I y como se puede llegar a
usar los diferentes temas como ser, funciones, matrices,
vectores, vector de objetos y archivos en un solo programa, cabe
destacar que no se usaron base de datos todos los archivos fueron
guardados en un documento de texto creado desde el mismo
programa.

 

 

Autor:

Mauricio Jimenez

DOCENTE: ING IRMA PRADO

PARALELO: I

SEMESTRE: II-2013

PROYECTO FINAL

PROGRAMACION I

Nota al lector: es posible que esta página no contenga todos los componentes del trabajo original (pies de página, avanzadas formulas matemáticas, esquemas o tablas complejas, etc.). Recuerde que para ver el trabajo en su versión original completa, puede descargarlo desde el menú superior.

Todos los documentos disponibles en este sitio expresan los puntos de vista de sus respectivos autores y no de Monografias.com. El objetivo de Monografias.com es poner el conocimiento a disposición de toda su comunidad. Queda bajo la responsabilidad de cada lector el eventual uso que se le de a esta información. Asimismo, es obligatoria la cita del autor del contenido y de Monografias.com como fuentes de información.

Categorias
Newsletter