Tenemos 2 archivos:
cuentas.txt -> (cuentas, saldo)
CUENTA1#1500
CUENTA2#3400
CUENTA3#2000
facturas.txt -> (cuentas, cargo/abono *, saldo)
CUENTA1@A@20
CUENTA1@C@20
CUENTA3@A@40
CUENTA2@C@50
CUENTA5@A@30
*un cargo es resta y un abono es suma
Problema 1: Necesito que cuando en facturas.txt se incluya una CUENTA5 por ejemplo que no existe en cuentas.txt. hacer un if comparando con un equals por ejemplo las cuentas y si no existe la cuenta haga un system.out.println diciéndolo, pero no termine el programa.
Problema 2: Evitar una lectura errónea, tipo XXXXX@XX o simplemente asndsadn1234, cualquier lectura que no mantenga las proporciones.
Hay varios métodos, hashmap, arraylist, etc. Aquí va el código...
Código Java:
Ver original
public class Objetivo1 { cargarCuentas(); mostrarCuentas("SALDOS INICIALES\n"); procesaFacturas(); mostrarCuentas("\nSALDOS FINALES\n"); } Set<String> set = saldoCuenta.keySet(); Iterator<String> iter = set.iterator(); while (iter.hasNext()) { } } private static void procesaFacturas() { try { String linea; "datos/Facturas2.txt"), 1024); while ((linea = fichero.readLine()) != null) { Float nuevoSaldo; if(tipo.compareTo("A") == 0 || tipo.compareTo("C") == 0) { if(tipo.compareTo("A") == 0) { // abono nuevoSaldo = saldoActual + importe; saldoCuenta.put(cuenta, nuevoSaldo); } if(tipo.compareTo("C") == 0) { // cargo nuevoSaldo = saldoActual - importe; saldoCuenta.put(cuenta, nuevoSaldo); } } else { } } } private static void cargarCuentas() { /* * Método que lee el fichero de cuentas y lo carga en un HashMap */ try { String linea; "datos/Cuentas2.txt"), 1024); while ((linea = fichero.readLine()) != null) { saldoCuenta.put(numCuenta, saldo);// se carga HashMap con saldos de cuentas } fichero.close(); } } }