gpt4 book ai didi

java - java方法中for循环内返回和for循环外返回的区别

转载 作者:行者123 更新时间:2023-11-30 01:44:23 25 4
gpt4 key购买 nike

这是一个奇怪的问题,但我非常好奇,任何人都可以向我解释一下,这两种检查素数的相同方法有什么区别?

public boolean isPrime(int numberToCheck){

for(int divider =2; divider<numberToCheck; divider++){
if(numberToCheck%divider == 0){
return false;
}
}

return true;

    for(int divider =2; divider<numberToCheck; divider++){
if(numberToCheck%divider != 0){
return true;
}
}

return false;

}

当他们返回两个不同的结果时,我仍然不明白为什么,我一直认为这两个是同一件事如果输入是 1,101,11,12,200,203,5,则最上面的一个仅返回 101,11,5,但另一个返回所有输入的内容

最佳答案

第二部分不正确

for(int divider =2; divider<numberToCheck; divider++){
if(numberToCheck%divider != 0){
return true;
}
}

此代码将返回在第一个 divider 满足 if 表达式后 numberToCheck 是素数,这不是您想要的(例如如果 numberToCheck 为 6 且 divider 4,则 numberToCheck%divider != 0 将为 true)。第一个示例正确检查 2 和 numberToCheck 之间的所有数字,并在逻辑上返回 numberToCheck 不是素数(如果它可以被任何 divider 整除) >.

关于java - java方法中for循环内返回和for循环外返回的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58697721/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com