"else", delete this

0

Cześć

public class Zmienne
{
   public static void main(String[] args)
   {
      int a = 10;
      if(a==10);
      {
         System.out.println("a jest równe " + a);
      }
      else
         System.out.println("a nie jest równe " + a);
   }
}

Mam taki błąd "Syntax error on token "else", delete this token"

1

zamień

if(a==10);

na

if(a==10)
4

Zaczynając od czytania:

Mam taki błąd "Syntax error on token "else", delete this token"

Błąd składniowy na tokenie else. Usuń ten token.
Tzn. kompilator radzi ci usunąć else. Gdybyś to zrobił, program by się uruchomił (ale nie działałby dobrze, to inna sprawa). Teraz dlaczego kompilator chce twój if{}else{} niszczyć...
Przyjrzyj się lepiej dokładnie (i rób ładniejsze wcięcia, chociaż tutaj by Ci nie pomogły):

public class Zmienne 
{
    public static void main(String[] args)
    {
        int a = 10;
        if(a==10); // <- tutaj masz średnik! to znaczy że if się w tym momencie kończy
        // równoważne do if(a==10) { }

        { // -> te klamry są ignorowane, równie dobrze by ich mogło nie być
                System.out.println("a jest równe " + a);
        } // <- 
        else // no i teraz kompilator widzi else znikąd, więc się dziwi
                System.out.println("a nie jest równe " + a);
    }        
}
 

Rozwiązanie chyba oczywiste, usunięcie średnika.

0

Chodziło o średnik. Mój błąd spanikowałem. Dzięki za szybką reakcje.

1 użytkowników online, w tym zalogowanych: 0, gości: 1