boolean check = false;
for(int i = 0; i == 16; i++){
if(i == i)
{
System.out.println("true");
check = true;
}
else{
check = false;
}
}
return check;
}
我已经更改了我的if语句,为了不必发布代码加载,但我的问题是,为什么它仍然将检查返回为false,即使在第一个循环中if语句是正确的,它应该读取if(0 == 0)这是真的为什么它不将check检查为true?
注意到如果我删除循环,它可以工作:/任何原因?
谢谢!
答案 0 :(得分:4)
您的循环条件错误。考虑这个执行流程:
for (int i = 0; i == 16; ++i)
i
初始化为0
i == 16
(是否为假)所以循环体永远不会被执行。
你应该写for (int i = 0; i <= 16; ++i)
答案 1 :(得分:3)
因为你永远不会进入for循环,所以它应该是:
for(int i = 0; i <= 16; i++){
答案 2 :(得分:0)
for(int i = 0; i == 16; i++){
您只是在i=16
我已分配到0
答案 3 :(得分:0)
这种条件适用于循环...直到结构,正如其他人说你永远不会进入循环所以使用:
for(int i = 0; i == 16; i++) { ... }
或者如果你坚持像循环这样的结构...直到(cond。)或do-while(!cond。):
int i = 0;
do{
if(i == i)
{
System.out.println("true");
check = true;
}
else{
check = false;
}
}while( ++i != 16 );
根本不可读(至少我是这么认为),我认为这对任何Java程序员来说都不方便。
答案 4 :(得分:0)
我喜欢这个问题,这是我在这个网站上看到的第一个代码,显然你的情况从未运行过,因为我从来没有遇到条件i == 16所以循环永远不会运行。 试试我&lt; = 16 试试这个
for(int i = 0; i <= 16; i++){