我如何完成第4章“Java的艺术与科学”练习3?

时间:2012-08-05 01:43:48

标签: java

我必须编写一个读入正int的程序,然后计算并显示前N个奇数的总和。例如,如果N为4,程序应显示值16,即1 + 3 + 5 + 7.

到目前为止,这是我所拥有的,但是我遇到了一堵砖墙,并且会欣赏正确方向上的一点。

import acm.program.*;

public class OddIntegers extends ConsoleProgram {

    public void run() {
        println("This program adds the number of odd numbers");
        int n = readInt("Enter a positive number: ");
        int b = 1;
        for (int i = 0; i < n; i++);
            b = b + (b + 2);

        println("The total is " + b);   
    }
}

3 个答案:

答案 0 :(得分:3)

最好将i用于aggregating

int b = 0;
for (int i = 0; i < n; i++) {
    b += (2*i + 1);
}

输入4,结果:16

答案 1 :(得分:2)

首先从;循环结束时删除for

第二次使用sum作为存储和的变量,b来保存奇数。

int b=1, sum = 0;
for (int i = 1; i <=n; i++){
    sum+=b;
    b+=2;
}

答案 2 :(得分:1)

你的for循环后面有一个分号,所以循环中没有实际的代码,你计算错了,你添加一个额外的值,因为你在一个开始b

int b = 0;
int odd = 1;
for (int i = 0; i < n; i++){
    b = b + odd;
    odd += 2;
}