java 编译报错.有if没有else下面怎么没是就第一个有事

2024年11月13日 17:03
有2个网友回答
网友(1):

你代码有两个地方的错误 一个就是
else if (X>2) //这里 你在前面申明的变量是 小写的x 这里是大写 所以报错

第二个是括号的问题
if (x>1)
{ //这里去掉
System.out.println("a");
else if (X>2)
System.out.println("b");
else if (x>3)
System.out.println("c");
else
System.out.println("d");

} //这里去掉 就不会报错了..
但是这种写法比较不太好 虽然编译器不会报错..但是一般正规公司是不允许这样写
所以还是推荐正规的写法 修改后如下 替换你的main方法就能运行了
结果为 a

public static void main(String[] args)
{
int x = 3;
if (x>1)
{
System.out.println("a");
}
else if (x>2)
{
System.out.println("b");
}
else if (x>3)
{
System.out.println("c");
}
else
{
System.out.println("d");
}

System.out.println();
}

网友(2):

你的 else if (X>2) 中的第else没有对应的if啊,后面没事是因为后面的else是和你这个else if (X>2)“种的 if 匹配的~第一个else可不会跟最外面的if (x>1) 中的if匹配的,所以你的else有三个,if只有两个!