Título: Ayuda Proyecto de Java Por favor!! Publicado por: Said Aldana en 6 Diciembre 2009, 18:00 pm Hola a todos este proyecto es un proyecto que empecé hace una semana y acabo de terminar ayer, mi problema es que no me compila y lo tengo que entregar mañana por eso estoy muy muy nervioso porque si no lo hago compilar repruebo el semestre. Necesito ayuda amigos, digo apenas soy un principiante en esto de la programación, seguro también ayudaré, el ultimo tema que vi fue interfaz gráfica y con una ventana por eso mi proyecto trato hacerlo con una ventana. agradezco sus aportaciones.
La descripcion del problema es este: Tengo una clase Banco Una clase que lee Archivos Tengo una clase Ejecutivo Tengo una clase Cliente Tengo una clase Contratos Tengo una clase BancoVista y por ultimo una clase ControladorBanco Los clientes tienen una listaOrdenada de contratos, los ejecutivos de clientes y el banco de ejecutivos. En mi controlador puse que el ejecutivo diera de alta contratos los eliminara, y los buscara, al igual con los clientes, que el ejecutivo agragara clientes los eliminara y los buscara, tambien busque que el calculara una función que se llama c que tengo en mi clase contratos. No estoy seguro de donde esta el error me parece que está en la clase leeArchivos. Mi clase leeArchivos tiene solo una función estática que tiene como parámetro el archivo y me regresa una matriz. ya que necesito introducir estos datos en una matriz ya que para calcular "c" es necesario buscar un valor y que me arroje el valor de la derecha por ejemplo: Si tengo los sig num .012 2 .0134 3 .243 5 ... si le doy el .243 necesito que me arroje el dato 5 como valor para calcular c ya que es un dato estadístico necesario para mi función calcula c. mi función leeArchivos tiene un Scanner para leer, tengo un try y un catch y pues cuando lo meto en mi cotrolador declaro un archivo de tipo file y lo introdusco en mi función. En mi compilador (Eclipse) dice que el error esta en el path pero pues ya intenté poniendole diversos paths y aún no lo lee asi que pienso el error debe estar en otro lado. asi está mi clase leeArchivos: public class leeArchivos { public static double[][] leeDameTablanormal(File ent){ Scanner lec = null; int m = 410; int n = 2; double[][] tablaNormal, res; tablaNormal = new double [m][n]; try{ lec=new Scanner (ent); } catch (FileNotFoundException fnfe){ System.err.println (fnfe); System.exit(-1); } lec=new Scanner (System.in); for (int i=0; i<m;i++){ for (int j=0; j<n; j++) tablaNormal[j]=lec.nextDouble (); } res = tablaNormal; lec.close(); return res; } } y asi lo estoy mandando llamar desde el controlador import java.awt.event.ActionListener; import java.io.File; import java.io.FileNotFoundException; import java.util.Scanner; import ClaseUtiles.CalculadoraCompleja; public class BanaiControlador extends BanaiVista { File ent = new File("tablaNormal.txt"); double [][] tablaNormal; BancoBanai a; EjecutivoBanai e; public BanaiControlador (String titulo){ super (titulo); ent = new File("tabla.txt"); a = new BancoBanai(); e=new EjecutivoBanai(34543,"Lidneisy"); tablaNormal = leeArchivos.leeDameTablanormal(ent); bACliente.addActionListener (new EscuchaCliente ()); bECliente.addActionListener (new EscuchaCliente ()); bBCliente.addActionListener (new EscuchaCliente ()); bAContrato.addActionListener (new EscuchaContrato ()); bEContrato.addActionListener (new EscuchaContrato ()); bBContrato.addActionListener (new EscuchaContrato ()); bCalcula.addActionListener (new EscuchaC ()); } private class EscuchaContrato implements ActionListener{ public void actionPerformed (ActionEvent ae){ ..... Título: Re: Ayuda Proyecto de Java Por favor!! Publicado por: Leyer en 6 Diciembre 2009, 19:18 pm esto es un super derroche de memoria
Código
y que tipo de error de lanza? Título: Re: Ayuda Proyecto de Java Por favor!! Publicado por: Said Aldana en 6 Diciembre 2009, 19:53 pm Lanza un File Not Found Exceptio y dice que el archivo no lo puede encontrar
Título: Re: Ayuda Proyecto de Java Por favor!! Publicado por: Leyer en 6 Diciembre 2009, 20:01 pm Verifica que el archivo tabla.txt este fuera del src y del bin
Título: Re: Ayuda Proyecto de Java Por favor!! Publicado por: Said Aldana en 6 Diciembre 2009, 20:18 pm lo acabo de sacar de la carpeta de src que era donde estaba y lo puse en la de JRE libreria, intenta abrir la ventana pero me sigue marcando el mismo error
Título: Re: Ayuda Proyecto de Java Por favor!! Publicado por: Leyer en 6 Diciembre 2009, 20:36 pm en la carpeta de tu proyecto tienen que estar el src el bin y el archivo.txt
Título: Re: Ayuda Proyecto de Java Por favor!! Publicado por: Said Aldana en 6 Diciembre 2009, 20:37 pm ahh ok ya no me marca error de compilación muchas gracias, pero ahora el problema es que no me marca ningun error y no trabaja el programa
Título: Re: Ayuda Proyecto de Java Por favor!! Publicado por: Leyer en 6 Diciembre 2009, 20:43 pm Bien. verifica esta segmento de code que colocaste
Código
Título: Re: Ayuda Proyecto de Java Por favor!! Publicado por: Said Aldana en 6 Diciembre 2009, 20:43 pm No tengo ni idea de porque no funciona :( no escucha a mi controlador mi vista yo creo esta es mi vista, yo creo que el problema viene por el archivo, porque ni siquiera puedo probar mis clases:
import javax.swing.*; import javax.swing.event.*; import java.awt.BorderLayout; import java.awt.Color; import java.awt.FlowLayout; import java.awt.Font; import java.awt.GridLayout; public class BanaiVista extends JFrame { private JLabel lNumCliente, lNC, lNumCont,lVar,lTasa, lResultados,lResultados2,lResultados3,lNombreC, lDireccion, lNumeroCliente,lTelefono, lNumContrato, lDuracion, lPrecioP, lCantP, lProducto, lPrecA; protected JTextField tNumCliente,tNC, tNumCont,tVar, tTasa,tNombreC, tDireccion, tNumeroCliente,tTelefono, tNumContrato, tDuracion, tPrecioP, tCantP, tProducto,tPrecA; protected JTextArea tResultados, tResultados2; protected JTextField tResultados3; protected JPanel bCliente; protected JPanel clientes; protected JPanel bEjecutivo; protected JPanel ejecutivo; protected JPanel contratos; protected JPanel bContrato; protected JPanel calcularC; protected JPanel bCalcularC; protected JPanel contenedor; protected JButton bACliente, bECliente, bAContrato, bEContrato, bBCliente, bBContrato, bCalcula; private Font auxFont; public BanaiVista (String titulo){ super (titulo); contenedor=new JPanel (new GridLayout (3,1)); setContentPane (contenedor); setDefaultCloseOperation (JFrame.EXIT_ON_CLOSE); setBackground (Color.BLACK); //Panel Cliente clientes=new JPanel (); clientes.setLayout (new GridLayout (3,4)); clientes.setBackground(Color.BLUE); clientes.setBorder(BorderFactory.createEmptyBorder(4,4,4,4)); //Label lNombreC=new JLabel ("Nombre: "); auxFont=lNombreC.getFont(); lNombreC.setFont(new Font(auxFont.getFontName(), auxFont.getStyle(), 15)); lNombreC.setForeground (Color.WHITE); lTelefono=new JLabel ("Teléfono: "); lTelefono.setForeground (Color.WHITE); lTelefono.setFont(new Font(auxFont.getFontName(), auxFont.getStyle(), 15)); lNumeroCliente=new JLabel ("# Cliente: "); lNumeroCliente.setForeground (Color.WHITE); lNumeroCliente.setFont(new Font(auxFont.getFontName(), auxFont.getStyle(), 15)); lDireccion=new JLabel ("Dirección: "); lDireccion.setForeground (Color.WHITE); lDireccion.setFont(new Font(auxFont.getFontName(), auxFont.getStyle(), 15)); lResultados=new JLabel ("Resultado: "); lResultados.setForeground (Color.WHITE); lResultados.setFont(new Font(auxFont.getFontName(), auxFont.getStyle(), 15)); //TextField tNombreC=new JTextField (10); tNombreC.setForeground (Color.BLUE); tNombreC.setFont(new Font(auxFont.getFontName(), auxFont.getStyle(), 15)); tTelefono=new JTextField (10); tTelefono.setForeground (Color.BLUE); tTelefono.setFont(new Font(auxFont.getFontName(), auxFont.getStyle(), 15)); tNumeroCliente=new JTextField (10); tNumeroCliente.setForeground (Color.BLUE); tNumeroCliente.setFont(new Font(auxFont.getFontName(), auxFont.getStyle(), 15)); tDireccion=new JTextField (10); tDireccion.setForeground (Color.BLUE); tDireccion.setFont(new Font(auxFont.getFontName(), auxFont.getStyle(), 15)); tResultados=new JTextArea (5,5); tResultados.setForeground (Color.BLUE); tResultados.setFont(new Font(auxFont.getFontName(), auxFont.getStyle(), 15)); //Botones bCliente=new JPanel (); bCliente.setLayout (new FlowLayout ()); bCliente.setBackground(Color.BLUE); bCliente.setBorder(BorderFactory.createEmptyBorder(4,4,4,4)); bACliente=new JButton ("+ Cliente"); bECliente=new JButton ("- Cliente"); bBCliente=new JButton ("Buscar"); bCliente.add (bBCliente); bCliente.add(bACliente); bCliente.add (bECliente); //Agregar clientes.add(lNumeroCliente); clientes.add(tNumeroCliente); clientes.add(lNombreC); clientes.add(tNombreC); clientes.add(lDireccion); clientes.add(tDireccion); clientes.add(lTelefono); clientes.add(tTelefono); clientes.add(lResultados); clientes.add(tResultados); clientes.add(bCliente); //Panel contrato contratos=new JPanel (); contratos.setLayout (new GridLayout (6,4)); contratos.setBackground(Color.WHITE); contratos.setBorder(BorderFactory.createEmptyBorder(4,4,4,4)); //Label lNumeroCliente=new JLabel ("Numero Cliente: "); lNumeroCliente.setFont(new Font(auxFont.getFontName(), auxFont.getStyle(), 15)); lNumContrato=new JLabel("# Contrato: "); lNumContrato.setFont(new Font(auxFont.getFontName(), auxFont.getStyle(), 15)); lDuracion=new JLabel ("Duración: "); lDuracion.setFont(new Font(auxFont.getFontName(), auxFont.getStyle(), 15)); lPrecioP=new JLabel ("Precio Pactado: "); lPrecioP.setFont(new Font(auxFont.getFontName(), auxFont.getStyle(), 15)); lCantP=new JLabel ("Cant. Pactada"); lCantP.setFont(new Font(auxFont.getFontName(), auxFont.getStyle(), 15)); lVar=new JLabel ("Varianza:"); lVar.setFont(new Font(auxFont.getFontName(), auxFont.getStyle(), 15)); lTasa=new JLabel ("Tasa: "); lTasa.setFont(new Font(auxFont.getFontName(), auxFont.getStyle(), 15)); lResultados2=new JLabel ("Resultado: "); lResultados2.setFont(new Font(auxFont.getFontName(), auxFont.getStyle(), 15)); lProducto=new JLabel ("Producto: "); lProducto.setFont(new Font(auxFont.getFontName(), auxFont.getStyle(), 15)); lPrecA=new JLabel ("Precio Actual: "); lPrecA.setFont(new Font(auxFont.getFontName(), auxFont.getStyle(), 15)); lNC=new JLabel ("# Cliente: "); lNC.setFont(new Font(auxFont.getFontName(), auxFont.getStyle(), 15)); //TextField tNumeroCliente=new JTextField (10); tNumeroCliente.setForeground (Color.BLUE); tNumContrato=new JTextField(10); tNumContrato.setForeground (Color.BLUE); tNumContrato.setFont(new Font(auxFont.getFontName(), auxFont.getStyle(), 15)); tDuracion=new JTextField (10); tDuracion.setForeground (Color.BLUE); tDuracion.setFont(new Font(auxFont.getFontName(), auxFont.getStyle(), 15)); tPrecioP=new JTextField (10); tPrecioP.setForeground (Color.BLUE); tPrecioP.setFont(new Font(auxFont.getFontName(), auxFont.getStyle(), 15)); tCantP=new JTextField (10); tCantP.setForeground (Color.BLUE); tCantP.setFont(new Font(auxFont.getFontName(), auxFont.getStyle(), 15)); tVar=new JTextField (10); tVar.setForeground (Color.BLUE); tVar.setFont(new Font(auxFont.getFontName(), auxFont.getStyle(), 15)); tTasa=new JTextField (10); tTasa.setForeground (Color.BLUE); tTasa.setFont(new Font(auxFont.getFontName(), auxFont.getStyle(), 15)); tResultados2=new JTextArea (5,5); tProducto=new JTextField (10); tProducto.setForeground (Color.BLUE); tProducto.setFont(new Font(auxFont.getFontName(), auxFont.getStyle(), 15)); tPrecA=new JTextField (10); tPrecA.setForeground (Color.BLUE); tPrecA.setFont(new Font(auxFont.getFontName(), auxFont.getStyle(), 15)); tNC=new JTextField (10); tNC.setForeground (Color.BLUE); tNC.setFont(new Font(auxFont.getFontName(), auxFont.getStyle(), 15)); //Botones bContrato=new JPanel (); bContrato.setLayout (new FlowLayout ()); bContrato.setBackground(Color.WHITE); bContrato.setBorder(BorderFactory.createEmptyBorder(4,4,4,4)); bAContrato=new JButton ("+ Contrato"); bEContrato=new JButton ("- Contrato"); bBContrato=new JButton ("Buscar"); bContrato.add(bAContrato); bContrato.add (bEContrato); bContrato.add (bBContrato); //Agregar contratos.add (lNumContrato); contratos.add (tNumContrato); contratos.add (lNC); contratos.add (tNC); contratos.add (lDuracion); contratos.add (tDuracion); contratos.add (lPrecioP); contratos.add (tPrecioP); contratos.add (lCantP); contratos.add (tCantP); contratos.add (lVar); contratos.add (tVar); contratos.add (lTasa); contratos.add (tTasa); contratos.add (lProducto); contratos.add (tProducto); contratos.add (lPrecA); contratos.add (tPrecA); contratos.add (lResultados2); contratos.add (tResultados2); contratos.add (bContrato); //Panel calcularC calcularC=new JPanel (); calcularC.setLayout (new GridLayout (2,4)); calcularC.setBackground(Color.BLUE); calcularC.setBorder(BorderFactory.createEmptyBorder(4,4,4,4)); //Label lNumCliente=new JLabel ("# Cliente: "); lNumCliente.setForeground (Color.WHITE); lNumCliente.setFont(new Font(auxFont.getFontName(), auxFont.getStyle(), 15)); lNumCont=new JLabel("# Contrato: "); lNumCont.setForeground (Color.WHITE); lNumCont.setFont(new Font(auxFont.getFontName(), auxFont.getStyle(), 15)); lResultados3=new JLabel("Resultado: "); lResultados3.setForeground (Color.WHITE); lResultados3.setFont(new Font(auxFont.getFontName(), auxFont.getStyle(), 15)); //TextField tNumCliente=new JTextField (10); tNumCliente.setForeground (Color.BLUE); tNumCliente.setFont(new Font(auxFont.getFontName(), auxFont.getStyle(), 15)); tNumCont=new JTextField (10); tNumCont.setForeground (Color.BLUE); tNumCont.setFont(new Font(auxFont.getFontName(), auxFont.getStyle(), 15)); tResultados3=new JTextField (10); tResultados3.setForeground (Color.BLUE); tResultados3.setFont(new Font(auxFont.getFontName(), auxFont.getStyle(), 15)); //Botones bCalcularC=new JPanel (); bCalcularC.setLayout (new FlowLayout ()); bCalcularC.setBackground(Color.BLUE); bCalcularC.setBorder(BorderFactory.createEmptyBorder(4,4,4,4)); bCalcula=new JButton ("Calcular Prima"); bCalcularC.add(bCalcula); //Agregar calcularC.add (lNumCliente); calcularC.add (tNumCliente); calcularC.add (lNumCont); calcularC.add (tNumCont); calcularC.add (lResultados3); calcularC.add (tResultados3); calcularC.add(bCalcularC); contenedor.add (clientes); contenedor.add (contratos); contenedor.add(calcularC); this.setBounds (100,100,1200,700); this.setVisible (true); } public static void main(String[] args) { BanaiVista panel; panel=new BanaiVista ("Banai"); } } y este es mi controlador: package paqueteBanco; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.io.File; public class BanaiControlador extends BanaiVista { File ent; double [][] tablaNormal; BancoBanai a; EjecutivoBanai e; public BanaiControlador (String titulo){ super (titulo); ent = new File("tablaNormal.txt"); a = new BancoBanai(); e=new EjecutivoBanai(34543,"Lidneisy"); tablaNormal = LeeArchivos.leeDameTablanormal(ent); bACliente.addActionListener (new EscuchaCliente ()); bECliente.addActionListener (new EscuchaCliente ()); bBCliente.addActionListener (new EscuchaCliente ()); bAContrato.addActionListener (new EscuchaContrato ()); bEContrato.addActionListener (new EscuchaContrato ()); bBContrato.addActionListener (new EscuchaContrato ()); bCalcula.addActionListener (new EscuchaC ()); } private class EscuchaContrato implements ActionListener{ public void actionPerformed (ActionEvent ae){ String numeroCliente; String producto; String numeroContStr; String duracionStr; String cantidadProdStr; String varianzaPrecioProdStr; String precioActualStr; String tasaLibRiesgoStr; String precioProdStr; String res = null; int numeroCont; int duracion; int cantidadProd; double varianzaPrecioProd; double precioActual; double tasaLibRiesgo; double precioProd; numeroCliente=tNumeroCliente.getText(); producto=tProducto.getText(); numeroContStr=tNumContrato.getText(); duracionStr=tDuracion.getText(); cantidadProdStr=tCantP.getText(); varianzaPrecioProdStr=tVar.getText(); precioActualStr=tPrecA.getText(); tasaLibRiesgoStr=tTasa.getText(); precioProdStr=tPrecioP.getText(); numeroCont=Integer.parseInt(numeroContStr); duracion=Integer.parseInt(duracionStr); cantidadProd=Integer.parseInt(cantidadProdStr); varianzaPrecioProd=Double.parseDouble(varianzaPrecioProdStr); precioActual=Double.parseDouble(precioActualStr); tasaLibRiesgo=Double.parseDouble(tasaLibRiesgoStr); precioProd=Double.parseDouble(precioProdStr); switch (ae.getActionCommand().charAt(0)){ case '+': if(e.agregaContratoCliente(numeroCliente,numeroCont,precioProd,duracion, cantidadProd, producto, varianzaPrecioProd, tasaLibRiesgo, precioActual)) res ="Ok"; else res = "Error"; break; case '-': res = e.quitaContratoCliente(numeroCliente,numeroCont); break; case 'B': res = e.infoContratoCliente(numeroCliente, numeroCont); break; } tResultados2.setText(res); } } private class EscuchaCliente implements ActionListener{ public void actionPerformed (ActionEvent ae){ String numCliente; String telefono; String direccion; String nombre; String res = null; nombre=tNombreC.getText (); numCliente=tNumeroCliente.getText(); telefono=tTelefono.getText(); direccion=tDireccion.getText(); switch (ae.getActionCommand().charAt(0)){ case '+': if(e.addCliente(nombre,numCliente,telefono,direccion)) res = "Cliente Agregado"; else res = "Error"; break; case '-': res = e.removeCliente(numCliente); break; case 'B': res = e.infoCliente(numCliente); break; } tResultados.setText(res); } } private class EscuchaC implements ActionListener{ public void actionPerformed (ActionEvent ae){ String numCliente; String numContStr; String resStr=""; int numCont; double res; numCliente=tNumCliente.getText(); numContStr=tNumCont.getText(); numCont=Integer.parseInt(numContStr); res=e.calculaCContCl(numCliente,numCont,tablaNormal); tResultados3.setText(resStr+res); } } public static void main(String[] args) { BanaiControlador panel; panel=new BanaiControlador ("Banco Nacional de Inversión"); panel.pack(); } } Título: Re: Ayuda Proyecto de Java Por favor!! Publicado por: Said Aldana en 6 Diciembre 2009, 20:44 pm ahh ok deja verifico ese segmento gracias :)
Título: Re: Ayuda Proyecto de Java Por favor!! Publicado por: Said Aldana en 6 Diciembre 2009, 20:54 pm Perfecto muchisimas gracias ya no marca error y por lo menos ya actua el programa cuando lo trato de usar, aunque la información que me da no es la que busco me imagino que los demas errores los tengo en las clases muchas gracias
Título: Re: Ayuda Proyecto de Java Por favor!! Publicado por: Said Aldana en 6 Diciembre 2009, 20:55 pm solo tenia que borrar la instanciacion del scanner en ese segmento que me dijiste :D
Título: Re: Ayuda Proyecto de Java Por favor!! Publicado por: Leyer en 6 Diciembre 2009, 21:10 pm bien me alegra averte ayudado :)
Saludos. Título: Re: Ayuda Proyecto de Java Por favor!! Publicado por: Debci en 7 Diciembre 2009, 08:37 am Haber, tio puedes usar las tags de codigo y poner
Código: [code=java] Enserio es totalmente ilegible cuesta mucho, no te dan ganas de verificarlo. Saludos |