La cosa es que no se pueden referenciar variables que NO sean estáticas desde el método main. Ese error se soluciona anteponiendo la palabra static a las variables en cuestión, así:
static private ManagerFactura mfa;
static Factura fa=null;
Por lo que el código debería quedar así:
import java.io.*;
import java.util.*;
public class Cardique{
static private ManagerFactura mfa;
static Factura fa=null;
Municipio mu=null;
Pago pa=null;
static Lista Factura=null;
static Archivo archivo = new Archivo();
//static Lista Municipio=null;
//static Archivo archivo = new Archivo();
try{
mfa=new ManagerFactura();
//mmu=new ManagerMunicipio();
//mpa=new ManagerPago();
System.
out.
println("Los Archivos Se Cargaron Con Exito "); ex.printStackTrace();
System.
out.
println("Error al cargar archivo"+ex
); }
}
System.
out.
println("..........................................................."); System.
out.
println("* Programa para control de ingresos en Cardique *"); System.
out.
println("..........................................................."); menuPrincipal.opcion("1. Facturar");
menuPrincipal.opcion("2. Registrar Pagos");
menuPrincipal.opcion("3. Consultar");
menuPrincipal.opcion("4. Ingresos");
menuPrincipal.opcion("5. Salir");
// String numero = 0;
int op;
do{
/*try {
op = Integer.parseInt(entrada.readLine());
}
catch (Exception ex) {
System.out.println ("Digite por favor un numero valido");
}*/
System.
out.
println("\n************ Menu ***********\n"); op= menuPrincipal.seleccionar();
switch (op){
case 1: Facturar();break;
case 3: buscarFactura();break;
case 5:System.
out.
println("Programa Finalizado..."); break; default : System.
out.
println("Opcion incorrecta..."); }
}while(op!=5);
}
public static void ejecutar(){
// Abre el archivo "inscripciones.dat" y pasa sun contenido
// a la referencia de Lista - incripciones
Factura = (Lista) archivo.abrir("Factura.dat");
if(Factura == null)
Factura = new Lista();
}
public static void Facturar
()throws Exception{ Factura fa=new Factura();
System.
out.
println("Registre el Nombre del Municipio"); fa.setMunicipio(entrada.readLine());
System.
out.
println("Registre el Numero de Factura"); fa.setNumero(entrada.readLine());
System.
out.
println("Registre la Fecha a Facturar"); fa.setFecha(entrada.readLine());
System.
out.
println("Digite el Valor a Facturar"); fa.
setValor(Integer.
parseInt(entrada.
readLine()));
System.
out.
println("!!!Facturada Registrada Con Exito!!!");
}
public static void buscarFactura
()throws Exception{ System.
out.
println(" DIGITE EL CODIGO DE LA FACTURA"); String numero
= entrada.
readLine(); fa = mfa.getFactura(numero);
if(fa!=null){
System.
out.
println("No hay facturas Registradas");
}else{
System.
out.
println("Factura Encontrada");
}
}
}