java编写程序求解:1-2+3-4+5…….n?

rt
2024-11-30 04:24:30
推荐回答(5个)
回答1:

首先你可以看看他们的规律:奇数为相加,偶数为相减。

然后再根据这个规律,去写出个步骤:

  1. 可使用 for 循环,给定一个 n

  2. 判断 n 为奇数还是偶数

  3. 根据奇数还是偶数去进行相加或相减

代码如下:

public static void main(String[] args) {
    // Record the amount
    int amount = 0;

    // You could define a number directly or input from keyboard
    // Scanner in = new Scanner(System.in);
    // System.out.println("Please input a max number: ");
    // int n = in.nextInt();
    int n = 10;

    for (int i = 1; i <= n; i++) {
        if (i%2 != 0) {
            amount += i;
        } else if (i%2 == 0) {
            amount -= i;
        }
    }
    System.out.println("amount = " + amount);
}

回答2:

1:看题目分析,偶数是负的,奇数是正的,那么第一反应就是奇偶数的筛选

2:实现:使用求余运算符“%”

3:代码实现:

package com.fuzhu.test;

public class TestCase {

    public static void main(String[] args) {
        new TestCase().test(12);
    }
    /**
     * @param cou 变量值的范围
     */
    private void test(int cou){
        int result = 0;
        for(int i=1;i<=cou;i++){
            if(i%2==0){//求余,偶数时是负数
                result -= i;
            }else{
                result += i;
            }
        }
        System.out.println(result);
    }
}

回答3:

不要这么麻烦吧
1-2=-1
3-4=-1
5-6=-1
。。。。
(n-1)-n=-1
累计起来就是
n/2*(-1)

要判断一下
n是奇还是偶
int num=n/2==0 ? 0:n;

int total=num+n/2*(-1);

回答4:

int sum =0;
//自己改n的值
int n = 10;
for (int i=1;i<=n;i++) {
    sum += i*Math.pow(-1,i-1);
}

system.out.println(sum);

回答5:

public int countNum(int n)
{
    int cntNum;
   cntNum = 0;
   for(int i=1;i<=n;i++)
   {
       if(i%2 != 0){
           cntNum += i;
       }
       else{
           cntNum -= i;
       }
    }
    return cntNum;
}