如何编写一个将偶数加到1的程序

时间:2014-04-14 20:24:24

标签: java sequence

我需要帮助来编写一个加起来1,3,7,13 ......等等的

的java程序

我需要的是一个1 + 3 + 7 + 13 + 21 .... + n

的程序

n可以是用户想要的任何东西。 序列从1开始并添加每个偶数,所以从1增加2然后从该数字增加4并从该数字增加6并且它继续前进直到你到达

这是对的吗?我有一个完整的猜测

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;

public class Odd4 extends JFrame
    implements ActionListener {

    private JButton button;
    private JPanel panel;

    public static void main(String [] args) {
        Odd4 frame = new Odd4();
        frame.setSize(100, 100);
        frame.createLine();
        frame.show();
    }

    private void createLine() {
        setDefaultCloseOperation(EXIT_ON_CLOSE);
        Container window=getContentPane();
        window.setLayout (new FlowLayout());

        button = new JButton("OK");
        window.add(button);
        button.addActionListener(this);

    }

    public void actionPerformed(ActionEvent event) {
        int n;
        int sum = 0; 
        int i;
        int j = 1;
        String nString;
        nString = JOptionPane.showInputDialog("n:");
        n = Integer.parseInt(nString);
        for (i = 1; i <= n; i ++){
            if (i%2 == 0)

            do {
                j=j+i;
                sum = sum + j;
            }
            while (j <= n);
        }
        JOptionPane.showMessageDialog(null, "Total is: " + sum);
    }

}

2 个答案:

答案 0 :(得分:1)

我将给出算法本身,但作为伪代码。用Java实现它是留给读者的练习。

  1. 将变量n初始化为0;
  2. 将变量s初始化为1;
  3. 开始循环;
    1. 打印出来;
    2. 增量n;
    3. 将2n添加到s;
  4. 结束循环;

答案 1 :(得分:0)

int x= 1;
int c = 0;
while(true){
   x = x + (c *2);
   System.out.println(x);
   c++;

}

将输出:

1
3
7
....