Java编写嵌套if-else求三数最大值时指定行出现语法错误如何解决
错误产生原因
- 最核心的错误是
if(b>c);这行末尾多写了英文分号:Java中单独的分号代表一条空语句,会直接终结当前if的逻辑绑定,后面包裹result = b;的大括号会被识别为和该if无关的独立代码块,后续的else语句找不到与之配对的if,因此直接报语法错误。 - 额外的括号配对混乱问题:你在
result = b;写完后没有正确闭合if对应的代码块,直接书写else语句,也会干扰Java编译器的语法解析。
修复方案
- 删除
if(b>c)末尾多余的分号 - 调整大括号的配对关系,让else和对应的if正确匹配即可。
修复后的完整代码如下:
package conditionalStatements; public class NestedIfElse { public static void main(String[] args) { int a = 12, b = 80 ,c = 50; int result = 0; if(a>b) { if (a>c) { result = a; } else { result = c; } } else { if(b>c) { result = b; } else { result = c; } } System.out.println("largest of the three numbers is " + result); } }
内容的提问来源于stack exchange,提问作者Shivansh Tripathi
相关产品推荐
相关产品推荐

