我如何从“中”完成练习3;艺术与艺术;“Java科学”;,第四章?

我如何从“中”完成练习3;艺术与艺术;“Java科学”;,第四章?,java,Java,我必须编写一个程序,读入一个正整数,然后计算并显示前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 num

我必须编写一个程序,读入一个正整数,然后计算并显示前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);   
    }
}
导入acm.program.*;
公共类ODDinteger扩展控制台程序{
公开募捐{
println(“此程序将奇数相加”);
int n=readInt(“输入一个正数:”);
int b=1;
对于(inti=0;i
在for循环后面有一个分号,因此循环中没有实际的代码,而且计算错误,您添加了一个额外的值,因为您从一开始就开始了
b

int b = 0;
int odd = 1;
for (int i = 0; i < n; i++){
    b = b + odd;
    odd += 2;
}
intb=0;
int奇数=1;
对于(int i=0;i
最好使用
i
来:

intb=0;
对于(int i=0;i

输入4,结果:16

首先删除
从循环的
末尾开始

其次,使用
sum
作为变量存储sum,使用
b
保留奇数

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

对于(int i=1;i Side note:math说答案是
N*N
。投票关闭作为家庭作业标记清理的一部分。保留家庭作业标记直到关闭。谢谢大家。这里的分号或那里的括号能产生多大的不同真是太神奇了!
int b=1, sum = 0;
for (int i = 1; i <=n; i++){
    sum+=b;
    b+=2;
}