2013-10-30 178 views
-2

我正在制作一款二十一点游戏,并且由于某种原因无法使else语句正常工作。你能纠正这个问题并解释正确吗?Java简单if/else语句

{ 
    if (user.equalsIgnoreCase("next card")) 
     b = ran.nextInt(1 + 9) + 1; 
     y = x + c + b; 
     System.out.println("You received " + b + " And together your cards equal " + y + " ."); 
    } else { 
     System.out.println("You decided to stay."); 
    } 

OR http://prntscr.com/20rq6s

+1

请在发布之前先格式化您的代码,以便帮助您。 – Webnet

+0

嘿,欢迎来到stackoverflow。这里在stackoverflow我们真的很喜欢codeformatting :)格式化让生活变得如此简单 –

+0

最后一次编辑添加了缺失的括号{'和'}'。这使得问题有点令人费解;) – nicopico

回答

7

使用括号正确,你有 “如果” 块之外的括号:

if (/*condition*/) { 
    // Do code 
} else { 
    // Do other code 
} 
+2

只是为了澄清,如果你不使用括号,if语句终止于第一个分号(;)。 Id'建议阅读以下内容:http://docs.oracle.com/javase/tutorial/java/nutsandbolts/expressions.html – Andrew

+0

尽管如此,即使对于单条语句,如果条件是我自己放了括号,它也会使代码变得更清洁恕我直言。 – Rogue

+1

哦,绝对只是试图向OP展示他的程序为什么这样做。始终总是使用括号。 – Andrew

0
if(user.equalsIgnoreCase("next card")) { 
    b = ran.nextInt(1 + 9)+1; 
    y = x + c + b; 
    System.out.println("You received " +b+ " And together your cards equal " +y+ " ."); 
} else { 
    System.out.println("You decided to stay."); 
} 
+2

虽然这是正确的,但将勺子喂给没有把握这个基本概念的人的答案,将会长期伤害他们。 – nook