java - 编写一个接受 int n 并返回小于 n 的奇数之和的函数

标签 java algorithm sum

这是我的代码

public static int sumOfOddLessThan(int n)
{
    int iResult = 0;
    for(int i = n - 1; i > 0 && i % 2 != 0; i--)
    {
        iResult = iResult + i;
    }
    return iResult;
}

它不能正常工作,我不知道为什么:\

当我输入 5 时它应该返回 4 但它返回 0

最佳答案

for 循环中的条件语句为:

i 大于 0 且 i 不为偶数

当您以 5 作为参数调用该方法时,i 的第一个值为 4,它是偶数,因此不会对循环求值。

for(i = n-1; i > 0; i++) {
    if(i%2==0) {
        iResult += i;
    }
}

关于java - 编写一个接受 int n 并返回小于 n 的奇数之和的函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5097607/

相关文章:

java - HttpPost 查看帖子参数

java - 在非 Activity 类中创建警报对话框

java - 运算符优先级算法

c - 在C中合并两个已排序的字符串数组

algorithm - 为什么图灵机的数量是有限的?

python - 在 Python 中按特征对数组求和

java - 使用递归(java)查找给定数字是否是给定集合(允许重复)的总和

java - spring mvc 3 - SessionAttributes 似乎不起作用

python - 从排序数组到排序多项式数组的算法

java - 我试图让用户将数字输入到 ArrayList 中。如果用户输入 0,则对数字求和并平均