Java 问题

[复制链接]
查看11 | 回复4 | 2010-10-5 13:28:48 | 显示全部楼层 |阅读模式
public class pageeighttwo {
public static void main(String[] args) {
int x = 9;
int y = 8;
int z = 7;

if(x > 9)
if(y > 8)

System.out.println("x>9 and y>8");
else if(z >= 7)

System.out.println("x=7");
else

System.out.println("x9)成立就执行后面所有的,因为其实从 if(y>8)到最后的一个 else 是一个ifelse ifelse结构,而这算一句话,所以简化后是:if(x>9)......... (“........”代表后面那个if else if else 结构)而很明显,x>9 这个条件不成立,所以后面的都不执行了。
回复

使用道具 举报

千问 | 2010-10-5 13:28:48 | 显示全部楼层
最外面的If 里面含概的是下面整个If else结构。第一个就没进。当然什么都不输出
回复

使用道具 举报

千问 | 2010-10-5 13:28:48 | 显示全部楼层
首先,你的类名应该首字母大写,Pageeighttwo其次,你的if else里面没有适合的条件,当然就不能输出了,改为if(x>=9)就OK
回复

使用道具 举报

千问 | 2010-10-5 13:28:48 | 显示全部楼层
第一个if是主要判断语句,如果不满足后面都不会执行。else总是和自己最近的if匹配,要使关系明了,最好是使用{}分开它们。
回复

使用道具 举报

千问 | 2010-10-5 13:28:48 | 显示全部楼层
楼主,你的编程习惯不好,if else语句块最好用{}括起来,即使只有一句话也应该括起来,以后改代码比较好改,不至於因为{}而出错。还有最重要的一点就是else与其最近的if匹配。你的代码用{}括起来再看就比较清晰多了,至於错误也就显而易见了。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行