Solucionar el error: Else Without if en Java

Mehvish Ashiq 15 febrero 2024
  1. el error: 'else' sin 'if' en Java
  2. Razones para el error: 'else' sin 'if' en Java
  3. Soluciona el error: 'else' sin 'if' en Java
Solucionar el error: Else Without 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:

arreglar otra cosa sin un error en Java - 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.

  1. La primera razón es que olvidamos escribir el bloque if antes del bloque else.
  2. Falta el paréntesis de cierre de la condición if.
  3. 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).

Mehvish Ashiq avatar Mehvish Ashiq avatar

Mehvish Ashiq is a former Java Programmer and a Data Science enthusiast who leverages her expertise to help others to learn and grow by creating interesting, useful, and reader-friendly content in Computer Programming, Data Science, and Technology.

LinkedIn GitHub Facebook

Artículo relacionado - Java Error