Java 在else语句满足其要求后,如何执行if语句?
} 我对Java非常陌生,但我注意到Java代码往往会被执行,而不管后面的代码是否满足条件。 因此,在这里我希望执行else代码(在socks>hankees的情况下) 但是后面的if语句得到了适当的考虑。 如果有人能解释一下原因,我将不胜感激 编辑: 这是一本书中的代码,最初的格式是每个人都指出的方式(if->else if->else) 我只是改变了一些事情,我遇到了一些令人困惑的结果。 当我为手帕和袜子分别输入10和90时,更改了代码(发布了第一个代码),结果就是这样 手帕和袜子得分?1090 袜子赢了。。。 袜子:90 申请人数:10 就好像没有执行else语句一样(我确实希望执行else语句,因为在最后一个if语句之前满足了条件)Java 在else语句满足其要求后,如何执行if语句?,java,if-statement,Java,If Statement,} 我对Java非常陌生,但我注意到Java代码往往会被执行,而不管后面的代码是否满足条件。 因此,在这里我希望执行else代码(在socks>hankees的情况下) 但是后面的if语句得到了适当的考虑。 如果有人能解释一下原因,我将不胜感激 编辑: 这是一本书中的代码,最初的格式是每个人都指出的方式(if->else if->else) 我只是改变了一些事情,我遇到了一些令人困惑的结果。 当我为手帕和袜子分别输入10和90时,更改了代码(发布了第一个代码),结果就是这样 手帕和袜子得分?10
我的问题是:为什么不执行 您的算法有一点错误。无论使用哪种编码语言,if语句都将从上到下进行处理。然后,在(socks>hankees)的情况下,将执行第一个else块代码,因为第一个if条件为false。然后第二个else将为true,因此第三个块代码也将被执行 现在是使用
else if
关键字的好时机
public static void main(String args[]) {
Scanner keyboard = new Scanner(System.in);
int hankees, socks;
out.print("Hankees and Socks scores? ");
hankees = keyboard.nextInt();
socks = keyboard.nextInt();
out.println();
if (hankees > socks) {
out.println("Hankees win...");
out.print("Hankees: ");
out.println(hankees);
out.print("Socks: ");
out.println(socks);
} else {
out.println("It's a tie...");
out.print("Hankees: ");
out.println(hankees);
out.print("Socks: ");
out.println(socks);
}
if (socks > hankees) {
out.println("Socks win...");
out.print("Socks: ");
out.println(socks);
out.print("Hankees: ");
out.println(hankees);
}
keyboard.close();
}
当我运行此命令时,会得到以下结果:
if(hankees > socks){
//hankees won
}
else if(hankees == socks){
//it's a tie
}
else{
//socks won
}
因此,为了回答您的问题,else语句应该并且确实运行。如果你没有得到“这是一条领带…”部分,你必须有一个与你在这里发布的代码稍有不同的代码。那么你的else statemnet应该是第一条语句,然后是“if条件”,或者你可以添加一个while循环。不清楚你在问什么。你在期待什么?为什么?实际上发生了什么事情没有达到你的期望?为什么不呢?什么是“适当考虑”呢?这就是我在你的问题中迷失的地方。你是在问为什么第二个if(socks>hankees)会被处决吗?大家好,很抱歉搞混了,我编辑了原来的帖子。我希望这澄清了我的问题。这是确切的结果。我刚才又执行了一次以确定。如果keyword',则没有'
else'。有一个if
关键字和一个else
关键字。@EJP我建议您使用这个关键字^^我发现了问题所在,我在运行代码时取消选中Eclipse中弹出的“保存代码”框。谢谢你的帮助。
It's a tie...
Hankees: 10
Socks: 90
Socks win...
Socks: 90
Hankees: 10