Problema al compilar error

Iniciado por alexkof158, 26 Diciembre 2007, 06:22 AM

0 Miembros y 1 Visitante están viendo este tema.

alexkof158

Hola es agradezco su gran ayuda-

Cuando compilo el programa me tirar error de tipo



espero respuestas.
Citarpackage microproyecto.li;

AKI DEJO EL CODIGO SOY NOVATO NO SE BURLEN

import java.io.*;
import java.util.*;
public class Cardique{
   
   
   BufferedReader entrada = new BufferedReader(new InputStreamReader(System.in));
   private ManagerFactura mfa;
   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();
   public Cardique()throws Exception, ClassNotFoundException{
      try{
         mfa=new ManagerFactura();
         //mmu=new ManagerMunicipio();
         //mpa=new ManagerPago();
                       
          System.out.println("Los Archivos Se Cargaron Con Exito ");
      }catch(Exception ex){
         ex.printStackTrace();
         System.out.println("Error al cargar archivo"+ex);
   }
}

   public static void main(String arg[])throws Exception{
      
      Menu menuPrincipal = new Menu();
      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");
      BufferedReader entrada = new BufferedReader(new InputStreamReader(System.in));
   //   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{
   BufferedReader entrada = new BufferedReader(new InputStreamReader(System.in));
   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{
      BufferedReader entrada = new BufferedReader(new InputStreamReader(System.in));
         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");
         
      }
         
         
         
         
      }
   }
"noproxy"

Casidiablo

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í:

Citarstatic private ManagerFactura mfa;
static Factura fa=null;

Por lo que el código debería quedar así:

Código (java) [Seleccionar]
import java.io.*;
import java.util.*;
public class Cardique{
   
   
   BufferedReader entrada = new BufferedReader(new InputStreamReader(System.in));
   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();
   public Cardique()throws Exception, ClassNotFoundException{
      try{
         mfa=new ManagerFactura();
         //mmu=new ManagerMunicipio();
         //mpa=new ManagerPago();
                       
          System.out.println("Los Archivos Se Cargaron Con Exito ");
      }catch(Exception ex){
         ex.printStackTrace();
         System.out.println("Error al cargar archivo"+ex);
   }
}

   public static void main(String arg[])throws Exception{
     
      Menu menuPrincipal = new Menu();
      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");
      BufferedReader entrada = new BufferedReader(new InputStreamReader(System.in));
   //   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{
   BufferedReader entrada = new BufferedReader(new InputStreamReader(System.in));
   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{
      BufferedReader entrada = new BufferedReader(new InputStreamReader(System.in));
         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");
         
      }
         
         
         
         
      }
}

alexkof158

Gracias amigo eres un barbaro.

ya tengo la parte principal echa.
lo que me falta es que quiero guardar varias facturas y que se queden almacenadas en un .DAT. el .dat se crea y todo en la carpeta pero al momento de cerrar el programa y abrirlo no estan.

Que podria estar haciendo mal??? ::)

Citarpackage microproyecto.li;

import java.io.*;
import java.util.*;
public class Cardique{
   
   
   BufferedReader entrada = new BufferedReader(new InputStreamReader(System.in));
   static private ManagerFactura mfa;
   static Factura fa;
   Municipio mu=null;
   Pago pa=null;
   static Lista Factura;
   static Archivo archivo = new Archivo();
   //static Lista Municipio=null;
   //static Archivo archivo= new Archivo();
   public Cardique()throws Exception, ClassNotFoundException{
      try{
         mfa=new ManagerFactura();
         //mmu=new ManagerMunicipio();
         //mpa=new ManagerPago();
                       
          System.out.println("Los Archivos Se Cargaron Con Exito ");
      }catch(Exception ex){
         ex.printStackTrace();
         System.out.println("Error al cargar archivo"+ex);
   }
}
   public static void main(String arg[])throws Exception{
      Cardique m=new Cardique();
      try{
      
      m.menuFactura();
      }catch(Exception ex){
         System.out.println(ex);
      }
   }

   public void menuFactura()throws Exception{
      
      Menu menuPrincipal = new Menu();
      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");
      BufferedReader entrada = new BufferedReader(new InputStreamReader(System.in));

      
      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.exit(0); 
           default : System.out.println("Opcion incorrecta...");
         }
      }while(op!=5);
    }
   
   public 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  void Facturar()throws Exception{
   BufferedReader entrada = new BufferedReader(new InputStreamReader(System.in));
   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()));
      
   if(mfa.crearFactura(fa)){
      mfa.crearFactura(fa);
      
   System.out.println(" FACTURA FUE REGISTRADA CORRECTAMENTE");
   
   }else{
   System.out.println("Factura Ya existe");
   }
   this.menuFactura();
}
      
      public void  buscarFactura()throws Exception,ClassNotFoundException{
      BufferedReader entrada = new BufferedReader(new InputStreamReader(System.in));
         System.out.println(" Digite numero de la Factura: ");
      String numero = entrada.readLine();
      fa = mfa.getFactura(numero);
                        
      if(fa==null){
      System.out.println("No hay facturas Registradas");
      
      }   
      System.out.println(fa);   
      this.menuFactura();
      
      }
   }
"noproxy"

Casidiablo

Tengo un poco de dolor de cabeza y estoy algo enfermo, la cosa es que no quiero pensar mucho ahora. ¿podrías explicar mejor tu problema? y ¿podrías mostrarme la parte del código donde se guardan los datos en el archivo?

Gracias!

alexkof158

mm bueno.
mira lo que pasa es que cuandro crea la factura osea digite el nombre, fecha. numero, y el valor, estos deben quedar guardados siempre en el disco duro e ir haciendo. pero cuando cierro el programa y lo vuelvo a abrir no estan los datos. ¿porque digo que no estan? porque en el metodo hay una consultar y cuando le doy alli para consultar me dice que el municipio no existe.

Lo que quiero es que guarde bien todo y la cosa.
Citarpackage microproyecto.li;
import java.io.*;
import java.util.*;
public class ManagerFactura{
   private Map<String,Factura>mapafactura;
   private ManagerArchivoFactura mfa;
   public ManagerFactura() throws Exception, ClassNotFoundException{
      mfa=new ManagerArchivoFactura();
      mapafactura= new HashMap<String,Factura>();
      if(mapafactura==null){
         mapafactura=new HashMap();
      }
   }
   public boolean crearFactura(Factura fa)throws Exception{
      this.mapafactura.put(fa.getNumero(),fa);
      mfa.saveFactura(fa);
      return true;
   }
   public Factura getFactura(String numero)throws Exception{
      Factura fa=mapafactura.get(numero);
      return fa;
   }
   public boolean modificarFactura(Factura fa,String numero)throws Exception{
      if(this.getFactura(numero)==null){
         System.out.println("Factura no existe");
         return false;
   }
   this.mapafactura.put(numero,fa);
   mfa.saveFactura("Factura.dat");
   return true;
   }
   public boolean eliminarFactura(String numero)throws Exception{
         if(this.getFactura(numero)==null){
         System.out.println("Factura no existe");
         return false;
   }
   this.mapafactura.remove(numero);
   return true;
   }
   public boolean imprimirFactura(Factura fa)throws Exception{
      if(fa!=null){
      System.out.println(mapafactura);
   }else{
      System.out.println("No Hay Registros");
   }
   return true;
}
}
"noproxy"

Casidiablo

La cosa es que en el codigo que colocas no está la parte de escribir en archivo... lo que deberías poner es la clase ManagerArchivoFactura.java que es la que guarda.

Un saludo!

alexkof158

#6
Uy perdon,
Y como siguio con la gripa TOMATE UN NOXPIRIN. jejeje

Porfavor podrias explicarme mejor esa parte.
"noproxy"

Casidiablo

Haber.... en el código que colocas hay una linea que dice:

mfa.saveFactura(fa);

Supongo que en ese momento es cuando se graba en el archivo. La cosa es que el método saveFactura se encuentra en la clase ManagerArchivoFactura.java, por lo que tienes que postear esa clase.

¿lo pillas?

alexkof158

bueno depronto no entendi o no me has entendido,
Mi programa guarda y toooo. Lo que pasa es que cuando quiero volver a correr el programa y mirar los valores que escribe anteriormente no me salen.
Le doy consultar y no me salen los valores guardados.
Solo salen los que estan en memoria solamente.

* el arhivo Factura.dat se genera.


AYUDAME .

gracias.
"noproxy"

Casidiablo

Jajaja. eso lo entiendo, pero ¿cómo quieres que te diga cual es el error, si no pones el código donde se realiza la lectura del archivo?