Solucionar el error: Else Without if en Java
-
el
error: 'else' sin 'if'
en Java -
Razones para el
error: 'else' sin 'if'
en Java -
Soluciona el
error: 'else' sin 'if'
en Java
Hoy aprenderemos sobre un error que dice 'else' sin 'if'
al escribir código en Java. También descubriremos las posibles razones que causan este error y encontraremos su solución.
el error: 'else' sin 'if'
en Java
Por lo general, este tipo de error lo enfrentan los novatos en la programación de Java. Antes de avanzar hacia las causas y la solución de este error, escribamos un programa que produzca este error y entendámoslo.
Entonces, suponiendo que somos expertos en Python y principiantes en Java. Entonces, escribiremos el programa Java que contiene if-else
de la siguiente manera.
Código de ejemplo:
// import libraries
import java.util.Scanner;
// decide future activity based on the current temperature
public class Test {
public static void main(String[] args) {
int temp;
Scanner scan = new Scanner(System.in);
System.out.println("What's the current temperature?");
temp = scan.nextInt();
if (temp > 95 || temp < 20)
;
System.out.println("Visit our shops");
else if (temp <= 95) if (temp >= 80) System.out.println("Swimming");
else if (temp >= 60) if (temp <= 80) System.out.println("Tennis");
else if (temp >= 40) if (temp < 60) System.out.println("Golf");
else if (temp < 40) if (temp >= 20) System.out.println("Sking");
} // end main()
} // end Test Class
Error:
En este programa, obtenemos la temperatura actual del usuario y decidimos nuestra actividad futura en función de la temperatura actual. La imagen de arriba muestra que estamos recibiendo un error lógico sobre el cual NetBeans IDE informa en tiempo de compilación.
Por lo tanto, ni siquiera podemos ejecutar el código hasta que resolvamos el error. Para eso, tendremos que saber las posibles razones a continuación.
Razones para el error: 'else' sin 'if'
en Java
El error en sí es explicativo, ya que dice que un compilador de Java no puede encontrar una declaración if
asociada con la declaración else
. Recuerde que la sentencia else
no se ejecuta a menos que estén asociados con una sentencia if
.
Por lo tanto, las posibles razones se enumeran a continuación.
- La primera razón es que olvidamos escribir el bloque
if
antes del bloqueelse
. - Falta el paréntesis de cierre de la condición
if
. - Terminamos la instrucción
if
usando un punto y coma.
¿Cómo resolver este error? Echemos un vistazo a la siguiente sección.
Soluciona el error: 'else' sin 'if'
en Java
Código de ejemplo:
// import libraries
import java.util.Scanner;
public class Test {
public static void main(String[] args) {
int temp;
Scanner scan = new Scanner(System.in);
System.out.println("What's the current temperature?");
temp = scan.nextInt();
if (temp > 95 || temp < 20) {
System.out.println("Visit our shops");
} // end if
else if (temp <= 95) {
if (temp >= 80) {
System.out.println("Swimming");
} // end if
else if (temp >= 60) {
if (temp <= 80) {
System.out.println("Tennis");
} // end if
else if (temp >= 40) {
if (temp < 60) {
System.out.println("Golf");
} // end if
else if (temp < 40) {
if (temp >= 20) {
System.out.println("Sking");
} // end if
} // end else-if
} // end else-if
} // end else-if
} // end else-if
} // end main()
} // end Test Class
Producción :
What's the current temperature?
96
Visit our shops
Eliminamos el punto y coma (;
) del final de la instrucción if
y colocamos {}
para cada bloque para corregir un error que dice 'else' sin 'if'
.
Es mejor usar corchetes {}
hasta que seamos lo suficientemente expertos y sepamos dónde podemos omitirlos (podemos omitirlos cuando tenemos una sola declaración en el bloque).
Artículo relacionado - Java Error
- Arreglar Java fue iniciado por el código de salida devuelto = 1
- Arreglar JAVA_HOME no se puede determinar a partir del error de registro en R
- Arreglar java.io.IOException: No queda espacio en el dispositivo en Java
- Arreglar Java.IO.NotSerializableException en Java
- Arreglar Java.Lang.IllegalStateException de Android: no se pudo ejecutar el método de la actividad
- Arreglar Java.Lang.NoClassDefFoundError: No se pudo inicializar el error de clase