Tabla de contenido:
- Colocando letras mayúsculas en el lugar al que pertenecen
- Interrupción de una instrucción de conmutación
- Comparando valores con un signo igual doble
- Agregar componentes a una GUI
- Agregar oyentes para manejar eventos
- Definir los constructores necesarios
- Reparación de referencias no estáticas
- Mantenerse dentro de los límites de una matriz
- Anticipando punteros nulos
- Ayudando a Java a encontrar sus archivos
Video: Errores que debe evitar al usar la factura electrónica 2024
Detecta errores comunes en la programación de Java antes de hacerlos. Aquí hay una breve lista de verificación de diez cosas para tener en cuenta en su código.
Colocando letras mayúsculas en el lugar al que pertenecen
Java es un lenguaje sensible a mayúsculas y minúsculas, por lo que realmente debe tener en cuenta sus P sy Q s, junto con las demás letras del alfabeto. Aquí hay algunos detalles a tener en cuenta al crear programas Java:
-
Las palabras clave de Java están completamente en minúsculas. Por ejemplo, en una instrucción if de Java, la palabra if no puede ser If o IF.
-
Cuando utiliza nombres de la API de Java (Interfaz de programación de aplicaciones), el caso de los nombres debe coincidir con lo que aparece en la API.
-
También debe asegurarse de que los nombres que crea usted mismo estén en mayúscula de la misma manera en todo su programa. Si declara una variable myAccount, no puede referirse a ella como MyAccount, myaccount o Myaccount. Si capitaliza el nombre de la variable de dos formas diferentes, Java cree que se refiere a dos variables completamente diferentes.
Interrupción de una instrucción de conmutación
Si no se sale de una instrucción de conmutación, se produce un error. Por ejemplo, si el valor del verso es 3, el siguiente código imprime las tres líneas: Última estrofa, Él es un dolor y No tiene cerebro.
cambiar (versículo) {caso 3: salir. print ("Última estrofa"); fuera. println ("último estribillo"); caso 2: fuera imprimir ("Es un dolor"); fuera. println ("él es un dolor"); caso 1: fuera imprimir ("No tiene cerebro"); fuera. println ("no tiene cerebro");}
Comparando valores con un signo igual doble
Cuando compara dos valores entre sí, usa un signo doble igual. La línea
if (inputNumber == randomNumber)
es correcta, pero la línea
if (inputNumber = randomNumber)
no es correcta.
Agregar componentes a una GUI
Aquí hay un constructor para un marco de Java:
SimpleFrame público () {Botón de JButton = nuevo JButton ("Gracias …" ); setTitle ("… Connie Santisteban y Brian Walls" ); setLayout (nuevo FlowLayout ()); agregar (botón); Botón addActionListener (esto); setSize (300, 100); setVisible (true);}
Haga lo que haga, no olvide la llamada al método add. Sin esta llamada, vas a todo el trabajo de crear un botón, pero el botón no aparece en tu marco.
Agregar oyentes para manejar eventos
Mira nuevamente el código de la sección anterior para construir un SimpleFrame. Si olvida la llamada a addActionListener, no ocurre nada cuando hace clic en el botón. Hacer clic en el botón más fuerte una segunda vez no ayuda.
Definir los constructores necesarios
Cuando define un constructor con parámetros, como en
Temperatura pública (número doble)
, la computadora ya no crea un constructor sin parámetros predeterminado para usted. En otras palabras, ya no puedes llamar a
Temperatura roomTemp = new Temperature ();
a menos que defina explícitamente su propio constructor de temperatura sin parámetros.
Reparación de referencias no estáticas
Si intenta compilar el siguiente código, recibirá un mensaje de error:
clase WillNotWork {String greeting = "Hello"; public static void main (String args []) {Sistema. fuera. println (saludo);}}
Obtiene un mensaje de error porque main es estático, pero el saludo no es estático.
Mantenerse dentro de los límites de una matriz
Cuando declara una matriz con diez componentes, los componentes tienen índices de 0 a 9. En otras palabras, si declara
int guests [] = nuevo int [10];
luego puede referirse a los componentes del conjunto de invitados escribiendo invitados [0], invitados [1], y así sucesivamente, hasta los invitados [9]. No puede escribir invitados [10], porque la matriz de invitados no tiene componente con índice 10.
Anticipando punteros nulos
Los ejemplos de este libro no son propensos a arrojar la Excepción de NullPointer, pero en la programación de Java real, ves esa excepción todo el tiempo. Una NullPointerException se produce cuando llamas a un método que se supone que devuelve un objeto, pero el método no devuelve nada. Aquí hay un ejemplo barato:
import static java. lang. Sistema. fuera; importar java. io. Archivo; clase ListMyFiles {public static void main (String args []) {File myFile = new File (" windows" ); String dir [] = myFile. lista(); for (String fileName: dir) {out. println (fileName);}}}
Este programa muestra una lista de todos los archivos en el directorio de Windows.
¿Pero qué ocurre si cambia windows a otra cosa, algo que no represente el nombre de un directorio?
Archivo myFile = new File ("& *% $!!" );
Luego, la nueva llamada de archivo devuelve null (una palabra especial de Java que significa nada ), por lo que la variable myFile no tiene nada en ella. Más adelante en el código, la variable dir no hace referencia a nada, y el intento de recorrer todos los valores de dir falla miserablemente. Obtienes una gran NullPointerException, y el programa se derrumba a tu alrededor.
Para evitar este tipo de calamidades, consulte la documentación de la API de Java. Si está llamando a un método que puede devolver nulo, agregue código de manejo de excepciones a su programa.
Ayudando a Java a encontrar sus archivos
Está compilando código Java, ocupándose de su propio negocio, cuando la computadora le da un NoClassDefFoundError. Todo tipo de cosas pueden estar yendo mal, pero es probable que la computadora no pueda encontrar un archivo Java en particular. Para solucionar esto, debe alinear todos los planetas correctamente:
-
Su directorio de proyecto debe contener todos los archivos Java cuyos nombres se usan en su código.
-
Si utiliza paquetes con nombre, su directorio de proyecto debe tener subdirectorios con el nombre apropiado.
-
Su CLASSPATH debe configurarse correctamente.