Java - ayuda con lectura de archivos txt en programa

 
Vista:

ayuda con lectura de archivos txt en programa

Publicado por max gonzalez (1 intervención) el 29/05/2012 06:47:05
hola que tal programadores tengo un problema con mi programa al momento de presentar el resultado o la salida da todos los datos menos el cargo en cada una de las cuentas y el saldo de cada una les dejo el codigo para que lo vean y si pueden lo prueben y vean cual es el problema de forma visual y tambien me gustaria que me ayudaran a poder sacar cual es la cuenta y de donde es si de ahorro o cheques la que mas saldo tiene por su atencion gracias

CODIGO:

import java.io.File;
import java.io.FileNotFoundException;
import java.util.Scanner;
import javax.swing.JOptionPane;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;

interface funcion{
public float saldo();
public float cargos();
}

abstract class Cuenta{
protected int id;
protected String nombre;
protected float depositos,retiros,cargos,saldo;
public float saldo() {
return saldo=depositos - retiros - cargos;
}
abstract void imprimir(JTextArea area);
abstract float cargos();
}
class Ahorro extends Cuenta implements funcion{
private int nretiros;
public float cargos() {
if( nretiros > 3)
{
return cargos=(nretiros - 3) * 10;
} else {
return cargos=0;
}
}

public void imprimir(JTextArea area) {
area.append(id+"\t"+nombre+"\t"+depositos+"\t"+retiros+"\t"+nretiros+"\t"+cargos+"\t"+saldo+"\n");
}
public float salida(){
return nretiros;
}
public Ahorro(Scanner flujo){
id = flujo.nextInt();
nombre = flujo.next();
depositos = flujo.nextFloat();
retiros = flujo.nextFloat();
nretiros = flujo.nextInt();
}

}
class Cheques extends Cuenta implements funcion{
private int emitidos;
public Cheques(Scanner flujo)
{
id = flujo.nextInt();
nombre = flujo.next();
depositos = flujo.nextFloat();
retiros = flujo.nextFloat();
emitidos = flujo.nextInt();
}
public float cargos() {
if( emitidos > 10)
{
return 50;
} else {
return emitidos * 5;
}
}
public float salida(){
return emitidos;
}
public void imprimir(JTextArea area) {
System.out.print(cargos);
area.append(id+"\t"+nombre+"\t"+depositos+"\t"+retiros+"\t"+emitidos+"\t"+cargos+"\t"+saldo+"\n");
}
}
public class Banco {

public static void main(String[] args) throws FileNotFoundException {
JTextArea area = new JTextArea(20,45);
Cuenta cartera[] = new Cuenta[40];
int cantidad=0;
File archivo = new File("C:\\Users\\MAXIMILIANO\\Desktop\\cuentas.txt");
Scanner flujo = new Scanner(archivo);
int na = flujo.nextInt();System.out.print(na+" esto es na\n");
for(int i=0; i<na; i++){
cartera[i]=new Ahorro(flujo);
cantidad++;
}
int nc = flujo.nextInt();
for(int i=0; i<nc; i++){
Cheques obj1 = new Cheques(flujo);
cartera[i+nc] = obj1;
cantidad++;
}
float cargostot=0, saldotot=0;
area.append("Cuentas de Ahorro\nCuenta\tCliente\tDepositos\tRetiros\tNo.Retiros\tCargos\tSaldo\n");
for(int i=0; i<na; i++){
cartera[i].imprimir(area);
cargostot += cartera[i].cargos();
saldotot += cartera[i].saldo();
}
area.append("\t\t\t\tTotales:\t"+cargostot+"\t"+saldotot+"\n");
area.append("\nCuentas de Cheque\nCuenta\tCliente\tDepositos\tRetiros\tEmitidos\tCargos\tSaldo\n");
float saldo1=0,cargos1=0;
for(int i=0; i<nc; i++){
cartera[i+na].imprimir(area);
cargos1 += cartera[i+na].cargos();
cargostot += cartera[i+na].cargos();
saldo1 += cartera[i+na].saldo();
saldotot += cartera[i+na].saldo();
}
area.append("\t\t\t\tTotales:\t"+cargos1+"\t"+saldo1+"");
area.append("\n\t\t\t\tG. Total:\t"+cargostot+"\t"+saldotot);
JScrollPane areaSc = new JScrollPane(area);
JOptionPane.showMessageDialog(null,areaSc,"Informe",JOptionPane.PLAIN_MESSAGE);
}

}
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder