我正在尝试在两者之间的if-and-else语句中创建一些Java代码。当我运行代码时,预期的输出应该是:“hello world hello world”但是我得到的是“hello hello hello hello”
我不知道我在这里做错了什么。有人可以告诉我这个问题吗?
int p = 1;
for (int i = 1; i < 5; i++) {
if (p == 1) {
System.out.println("hello");
p = 2;
} else {
System.out.println("world");
p = 1;
}
}
它不是您程序中的所有代码,但请查看此处:
else
System.out.println("world");
p = 1;
}
最后的花括号不属于else
语句的if-else
部分,它属于包含for
部分的if-else
循环 - 改进代码的格式,你会看到差异。你的else
部分没有花括号,因此只有在执行第二个条件时执行else
字之后的第一行。
根据@ajb评论,你只需将p = 1
移动到else
块:
for (int i = 1; i < 5; i++) {
if (p == 1) {
System.out.print("hello");
p = 2;
} else {
System.out.print("world\n");
p = 1;
}
}
你在else块上缺少一个大括号。
int p = 1;
for(int i = 1; i < 5; i++){
if (p == 1){
System.out.println("hello");
p = 2;
}
else {
System.out.println("world");
p = 1;
}
}