Ayuda con archivos
Publicado por elizbeth (1 intervención) el 20/05/2009 06:32:10
Hola!!
He tenido problemas en un trabajo que se me pide agregar escritura y lectura de archivos, agradecería muchísimo si me pudieran ayudar. Este es el programa original:
----------------------------------------------
//archivo Horas.java
//Subclase
import java.util.Scanner;
public class Horas extends Empleado
{
private int horasTrabajadas;
private int horasExtras;
//metodos
public Horas(int numero, String nombre, float sueldo, int horasTrabajadas, int horasExtras)
{
super(numero,nombre,sueldo);
this.horasTrabajadas = horasTrabajadas;
this.horasExtras = horasExtras;
}
public void obtenerDatos()
{
Scanner ent = new Scanner(System.in);
super.obtenerDatos();
System.out.print("Horas Trabajadas: ");
horasTrabajadas = ent.nextInt();
System.out.print("Horas Extras: ");
horasExtras = ent.nextInt();
}
public void imprimeDatos()
{
super.imprimeDatos();
System.out.println("Horas Trabajadas Horas Extras");
System.out.println(horasTrabajadas+ " " +horasExtras );
}
}//end class
----------------------------------------------
Ahora como lo he modificado:
-----------------------------------------------
//archivo Horas.java
//Subclase
import java.io.*;
import java.util.Scanner;
public class Horas extends Empleado
{
throws IOException{
private int horasTrabajadas;
private int horasExtras;
//metodos
public Horas(int numero, String nombre, float sueldo, int horasTrabajadas, int horasExtras)
{
super(numero,nombre,sueldo);
this.horasTrabajadas = horasTrabajadas;
this.horasExtras = horasExtras;
}
try{
Archi = new DataOutputStream( new FileOutputStream("../Archivo.dat",true) );
public void obtenerDatos()
{
Scanner ent = new Scanner(System.in);
super.obtenerDatos();
System.out.print("Horas Trabajadas: ");
horasTrabajadas = ent.nextInt();
System.out.print("Horas Extras: ");
horasExtras = ent.nextInt();
Archi.writeInt(horasTrabajadas);
Archi.writeInt(horasExtras);
Archi.close();
}
}
catch(FileNotFoundException fnfe) {}
catch (IOException ioe) {}
}
public void imprimeDatos()
{
super.imprimeDatos();
System.out.println("Horas Trabajadas Horas Extras");
System.out.println(horasTrabajadas+ " " +horasExtras );
}
}//end class
---------------------------------------------------
Si desean darle un vistazo a la clase empleado y empleado main igual las dejo:
--------------------------------------------
//archivo Empleado.java
//Super clase
import java.util.Scanner;
public abstract class Empleado
{
private int numero;
private String nombre;
private float sueldo;
public Empleado(int numero, String nombre, float sueldo)
{
this.numero = numero;
this.nombre = nombre;
this.sueldo = sueldo;
}
public void obtenerDatos()
{
Scanner ent = new Scanner(System.in);
System.out.print(" Nombre: ");
nombre = ent.nextLine();
System.out.print("Numero: ");
numero = ent.nextInt();
System.out.print("Sueldo: ");
sueldo = ent.nextFloat();
}
public void imprimeDatos()
{
System.out.println(" Nombre Numero Sueldo ");
System.out.println(nombre+ " " +numero+ " " +sueldo);
}
public abstract void obtenDatos();
}//end class
---------------------------------------------------------
//Aplicacion Cliente
import java.util.Scanner;
public class EmpleadoMain
{
private static int op=0;
public static void main(String args[])
{
System.out.println("Tipo de datos que quiere introducir");
Scanner entrada = new Scanner(System.in);
System.out.println("1.Empleado administrativo 2.Empleado por horas OPCION");
op = entrada.nextInt();
Empleado array[] = new Empleado[5]; //arreglo polimorfico
switch(op)
{
case 1 :for(int i=0; i<array.length; i++)
{
array[i] = new Administrativo(0," ",0.0f," ",0);//llena el array polimorfico con //objetos Administrativos
}
for(int i=0; i<array.length; i++)
{
array[i].obtenerDatos();//ocurre el polimorfismo
}
for(int i=0; i<array.length; i++)
{
array[i].imprimeDatos();//sucede el polimorfismo
}
break;
case 2 :for(int i=0; i<array.length; i++)
{
array[i] = new Horas(0," ",0.0f,0,0);// llena el array polimorfico con objetos //Horas
}
for(int i=0; i<array.length; i++)
{
array[i].obtenerDatos(); //ocurre el polimorfismo
}
for(int i=0; i<array.length; i++)
{
array[i].imprimeDatos(); //ocurre el polimorfismo
}
break;
}
}
}
------------------------------------------------------------
Gracias de antemano!!
He tenido problemas en un trabajo que se me pide agregar escritura y lectura de archivos, agradecería muchísimo si me pudieran ayudar. Este es el programa original:
----------------------------------------------
//archivo Horas.java
//Subclase
import java.util.Scanner;
public class Horas extends Empleado
{
private int horasTrabajadas;
private int horasExtras;
//metodos
public Horas(int numero, String nombre, float sueldo, int horasTrabajadas, int horasExtras)
{
super(numero,nombre,sueldo);
this.horasTrabajadas = horasTrabajadas;
this.horasExtras = horasExtras;
}
public void obtenerDatos()
{
Scanner ent = new Scanner(System.in);
super.obtenerDatos();
System.out.print("Horas Trabajadas: ");
horasTrabajadas = ent.nextInt();
System.out.print("Horas Extras: ");
horasExtras = ent.nextInt();
}
public void imprimeDatos()
{
super.imprimeDatos();
System.out.println("Horas Trabajadas Horas Extras");
System.out.println(horasTrabajadas+ " " +horasExtras );
}
}//end class
----------------------------------------------
Ahora como lo he modificado:
-----------------------------------------------
//archivo Horas.java
//Subclase
import java.io.*;
import java.util.Scanner;
public class Horas extends Empleado
{
throws IOException{
private int horasTrabajadas;
private int horasExtras;
//metodos
public Horas(int numero, String nombre, float sueldo, int horasTrabajadas, int horasExtras)
{
super(numero,nombre,sueldo);
this.horasTrabajadas = horasTrabajadas;
this.horasExtras = horasExtras;
}
try{
Archi = new DataOutputStream( new FileOutputStream("../Archivo.dat",true) );
public void obtenerDatos()
{
Scanner ent = new Scanner(System.in);
super.obtenerDatos();
System.out.print("Horas Trabajadas: ");
horasTrabajadas = ent.nextInt();
System.out.print("Horas Extras: ");
horasExtras = ent.nextInt();
Archi.writeInt(horasTrabajadas);
Archi.writeInt(horasExtras);
Archi.close();
}
}
catch(FileNotFoundException fnfe) {}
catch (IOException ioe) {}
}
public void imprimeDatos()
{
super.imprimeDatos();
System.out.println("Horas Trabajadas Horas Extras");
System.out.println(horasTrabajadas+ " " +horasExtras );
}
}//end class
---------------------------------------------------
Si desean darle un vistazo a la clase empleado y empleado main igual las dejo:
--------------------------------------------
//archivo Empleado.java
//Super clase
import java.util.Scanner;
public abstract class Empleado
{
private int numero;
private String nombre;
private float sueldo;
public Empleado(int numero, String nombre, float sueldo)
{
this.numero = numero;
this.nombre = nombre;
this.sueldo = sueldo;
}
public void obtenerDatos()
{
Scanner ent = new Scanner(System.in);
System.out.print(" Nombre: ");
nombre = ent.nextLine();
System.out.print("Numero: ");
numero = ent.nextInt();
System.out.print("Sueldo: ");
sueldo = ent.nextFloat();
}
public void imprimeDatos()
{
System.out.println(" Nombre Numero Sueldo ");
System.out.println(nombre+ " " +numero+ " " +sueldo);
}
public abstract void obtenDatos();
}//end class
---------------------------------------------------------
//Aplicacion Cliente
import java.util.Scanner;
public class EmpleadoMain
{
private static int op=0;
public static void main(String args[])
{
System.out.println("Tipo de datos que quiere introducir");
Scanner entrada = new Scanner(System.in);
System.out.println("1.Empleado administrativo 2.Empleado por horas OPCION");
op = entrada.nextInt();
Empleado array[] = new Empleado[5]; //arreglo polimorfico
switch(op)
{
case 1 :for(int i=0; i<array.length; i++)
{
array[i] = new Administrativo(0," ",0.0f," ",0);//llena el array polimorfico con //objetos Administrativos
}
for(int i=0; i<array.length; i++)
{
array[i].obtenerDatos();//ocurre el polimorfismo
}
for(int i=0; i<array.length; i++)
{
array[i].imprimeDatos();//sucede el polimorfismo
}
break;
case 2 :for(int i=0; i<array.length; i++)
{
array[i] = new Horas(0," ",0.0f,0,0);// llena el array polimorfico con objetos //Horas
}
for(int i=0; i<array.length; i++)
{
array[i].obtenerDatos(); //ocurre el polimorfismo
}
for(int i=0; i<array.length; i++)
{
array[i].imprimeDatos(); //ocurre el polimorfismo
}
break;
}
}
}
------------------------------------------------------------
Gracias de antemano!!
Valora esta pregunta


0