我正在教一个简单的比较编程,但我发现一些奇怪的东西,当我试图列出所有低于10的自然数是3或5的倍数,当我添加以下条件的数字0被添加,甚至当具体是条件添加数字,如果他们不是0,我已经使缓存失效并重新启动到Android Studio。我是否遗漏了什么?下面是代码
fun multiplesOf() {
val arrayOfSelected: ArrayList<Int> = arrayListOf()
for (i in 0..10) {
if (i != 0 && i % 3 == 0 || i % 5 == 0) {
arrayOfSelected.add(i)
}
}
Log.i("TAG", "multiplesOf: $arrayOfSelected")
}
2条答案
按热度按时间83qze16e1#
唯一的错误是在布尔表达式中:
给定
i=0
下面是基本的布尔算法:
false or true => true
,因此将执行if块添加括号可能有助于获得所需的结果:
ncecgwcz2#
这将计算为0
执行您的
它将
0
相加我建议添加另一个条件,以便在
i == 0
印刷品: