kingofsocket 2014-05-03 20:38 采纳率: 0%
浏览 372
已采纳

自己做了一个Atm机的程序

if(ID());
{funcs();}

boolean f=ID();
if(f){
funcs();
请问以上这两种代码有什么区别吗。
ID()是判断账号密码的方法
funcs()是进入1取款、2查询、3转账,功能选择界面的方法
为毛我用第一种方法写,密码输错了之后直接就进入功能选择界面了?
就是ID()为false的时候,还能执行funcs().

如果用第二种,先把ID()的值赋给f,在进入选择语句。就不会出现这种问题了。 这是什么情况?
刚学JAVA2个星期, 请各位指教。

  • 写回答

3条回答 默认 最新

  • iteye_7115 2014-05-04 15:36
    关注

    if(ID())[b][color=red]; [/color][/b]
    {funcs();}

    此处多了个分号,造成if判断成功后执行了空语句
    而后面的{funcs();} 则跟if判断没判断的下一执行语句

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?