2012-03-28 89 views
-2

我需要显示三个给定数字的最大数字。 'Z'应该显示为25是最大的数字。无论如何,编译时显示出来。 Error MessageJava错误'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

[错误的可能重复:'else'without'if'](http://stackoverflow.com/questions/13059729/error-else-without-if) – 2014-10-15 02:30:16

回答

7

你有一个;后,你的if语句,这使得他们什么都不做。删除它们。

你需要写

if(x > y && x > z) 

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

被解析为

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

当我删除;它告诉我;是期待。 – 2012-03-28 20:12:52

+0

因为'和'不应该在那里? – 2012-03-28 20:13:28

+0

我也试过&&而不是,但它说这是表达式的非法开始。 – 2012-03-28 20:14:37

1

在哪里你if()是在该行删除分号。

2

你不需要“;”在if或for循环之后。

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

谢谢!现在它的工作 – 2012-03-28 20:16:27