Veran, tengo un cuadro de texto, al que llamaremos "nUno" y un JButton al que llamaremos "resolver".
Lo que quiero hacer, es que al pulsar el JButton, se comprueve si nUno no tiene valor para, que si se cumple, se agan unos calculos. Aqui les pongo el codigo que prove, pero no funciono.
Edito, el codigo completo:
Esto es lo que tendría que hacer al clicar el boton Resolver:
int varNDos, varNUno, varDuno, varDDos; varNDos=Integer.parseInt(nDos.getText()); varNUno=Integer.parseInt(nUno.getText()); varDUno=Integer.parseInt(dUno.getText()); varDDos=Integer.parseInt(dDos.getText()); if(varNDos==null){ int varNDn=varNDn=(varNUno*varDUno)/varDDos; nDos.setText(Integer.toString(varNDn)); } if(varNUno==null){ int varNUn=varDUno/(varNDos*varDDos); nUno.setText(Integer.toString(varNUn)); } if(varDUno==null){ int varDUn=varNUno/(varNDos*varDDos); dUno.setText(Integer.toString(varDUn)); } if(varDDos==null){ int varDDn=(varNUno*varDUno)/varNDos); dDos.setText(Integer.toString(varDDn)); }
Depues pense en que si una varNDos=null, no me dejaría pasarlo a int, asi que aqui tendría que usar mas "try{}" ¿No?
Si pudiesen corregirme el codigo...
Muchas gracias.
He aqui el codigo que utilize
He aqui el codigo que utilize al final, no es exactamente lo que buscava, pero servira.
Ahora el dato que utilizara para saber que debe calcular es que "nUno=0" (Por ejemplo)
No hace falta que pongas las
No hace falta que pongas las mismas operaciones 4 veces. ese código se puede hacer con un sólo try/catch y ningún "if".
Ánimo, que casi lo tienes ( te sobra el 75% de código, pero vas bien)
LuaDiE: Crea en Lua sin teclear código. Compatible HM7, HMv2, LuaPlayer, LuaDEV y PGE.
Jaja, me gusta complicarme la
Jaja, me gusta complicarme la vida, si vieses como me ha quedado al final, me metes un tiro entre las cejas... xD
He puesto al menos 1o try{} catch(){} mas y he cambiado todos los "int" por "double", ya que las formulas dan infinidad de decimales.
Pero cumple la funcion que yo quería, que es lo que importa.
Bueno, con el tiempo iras
Bueno, con el tiempo iras puliendo tu codigo, solo tienes que tener claro lo que quieras hacer, y CÓMO lo vayas a hacer, esto ultimo es muy importante. Suerte en tu camino!
Un saludo ;)
Pues la funcion del programa
Pues la funcion del programa es basicamente llevar a cabo esta formula:
n2/n1=d1/d2
Es una formula para aberiguar la velocidad o el tamaño de "poleas" mecanicas.
Osea, la funcion del programa es aislar la incognita.
He pensado que en vez de hacer un "if(nDos=nul)l" podría hacer "if(nDos="n2)"; (Que seria el texto que devería poner en el cuadro de texto desde el principio del programa.
Esque la verdad que tengo un
Esque la verdad que tengo un lenguaje en java muy limitado todavia... Vosotros hablais de esto tranquilamente y yo me quedo igual... xD
¿Alguein podría pasarme solo ese trozo de codigo bien redactado, de manera que no de errores?
Gracias !
No entiendo qué es lo que
No entiendo qué es lo que tiene que hacer tu programa. Explícamelo al menos, comenta cada linea, para qué es cada if, para qué es cada variable, los componentes de tu GUI.
Menudo lio tienes con el null
El error es que el planteamiento es incorrecto, no es corregir una linea, es cambiar todo el código, no has entendido en significado de manejar excepciones un un bloque try/catch. mira el código Loopin más abajo. Se trata de evitar tanto if loquesea == null. ¿Que pasaría si tuvieras 20 variables?. ¿20 if variableX == null?
Un saludo.
LuaDiE: Crea en Lua sin teclear código. Compatible HM7, HMv2, LuaPlayer, LuaDEV y PGE.
Gracias por las respuestas,
Gracias por las respuestas, pero creo que lo de Try no me sirve. Porque no necesito que lo prueve "try", si no que lo consiga ! xD
Mi verdadera duda era el porque al decir "if(nUno==null)", porque neecsito que cuando el cuadro de texto "nUno" esté vacio ejecute los calculos necesarios.
Osea, lo del try puede ser muy util para excepciones como la de introducir una letra y intentar convertirlo a int, pero no resuelve mi problema.
Aver si alguien puede solucionarmelo.
(Tengo el codigo completo escrito en una hoja de papel, si lo encuentro lo cuelgo aqui)
Creo que no has entendido el
Creo que no has entendido el funcionamiento del try - catch... Te recomiendo que nos pongas todo el codigo para entender que es lo que hace tu programa exactamente y guiarte un poco mejor.
Un saludo.
Lo he estado revisando, y si,
Lo he estado revisando, y si, fallo mio, no lei el codigo completo.
Vale, voy a intentar subir todo el codigo, permaneced atentos.
Doy por hecho que nDos, y
Doy por hecho que nDos, y dUno son text fields o text area. El metodo getText() te devuelve un objeto String, que mediante el metodo parser de la clase Integer, estas convirtiendolo a un tipo entero. Hasta ahi todo bien, pero que pasa si en tu text field metes una letra? Pues que al intentar convertir ese String en un tipo int, se produce una excepcion. Para controlar la excepcion usamos los bloques try{}catch{}, lo cual quiere decir, que intentaremos hacer lo que hay dentro del bloque try, y si no lo conseguimos, capturaremos la excepcion y haremos lo que hay en el catch:
Espero que te sirva, un saludo!
Sí, pero aún así la pregunta
Sí, pero aún así la pregunta sigue estado mal xDD
if(nUno==null){Efectivamente. Es que ni
Efectivamente. Es que ni siquiera se esta preguntando por el contenido del campo, sino si no ha sido instanciado. El poco codigo que hay es caotico, pero bueno, dice que esta empezando.
Un saludo.
Estás haciendo mal la
Estás haciendo mal la pregunta, haces los cáculos si nUno es nulo, cuando debería ser al revés.
Mm...Creo que no, eso es lo
Mm...Creo que no, eso es lo que quiero conseguir, que cuando nUno no tenga valor, aga las operaciones.
En caso de que nUno tenga algun caracter dentro no devería hacer nada el programa.