2012-03-28 7 views
-2

Мне нужно иметь наибольшее число, отображаемое из трех заданных чисел. «Z» должно отображаться как 25 - наибольшее число. Во всяком случае, при компиляции это появляется. Error MessageОшибка Java 'else' без 'if'

Я понятия не имею, как это исправить, примеры, которые я даю на уроках, неверны, и при поиске в Интернете большинство других кодов намного сложнее, чем у меня, и они мало помогают. Мой код выглядит следующим образом:

class Greater 
{ 
    public static void main(String args[]) 
    { 
     int x = 10, y = 5, z = 15; 
     if (x>y) and (x>z); 
     { 
      System.out.println(x); 
     } 
     else if(y>z); 
     { 
      System.out.println(y); 
     } 
     else 
     { 
      System.out.println(z); 
     } 
    } 
} 
+0

возможно дубликат [Error : 'else' без 'if'] (http://stackoverflow.com/questions/13059729/error-else-without-if) –

ответ

7

У вас есть ; после вашего заявления, если что делает их не делать ничего. Удалить их.

Вам нужно написать

if(x > y && x > z) 

этот

if (x>y) and (x>z); 

обрабатывается как

if (x > y) { 
    and(x > z); 
} 
+0

Когда я удаляю; это говорит мне; ожидается. –

+0

потому что 'и' там не должно быть? –

+0

Я также пробовал && вместо, но он говорит, что это незаконное начало выражения. –

1

Удалите точку с запятой в строке, где ваш if() находится в.

1

Удалите точку с запятой за закрывающих скобок в if пунктов:

if (x>y) and (x>z); <--- WRONG! 

else if(y>z); <--- WRONG! 
3

Вы не можете просто написать

if (x>y) and (x>z) 

Синтаксис является

if((x>y) && (x>z)) 
+0

Спасибо! Теперь его работа –