你的问题是1+2-3+4-5+6-7+8...n的话,代码如下:
public class Calculate {
// 计算
public long calculate(long n) {
// 和
long sum = 1;
for (int i = 2; i <= n; i++) {
if (i % 2 == 0) {
sum = sum + i;
} else {
sum = sum + (-i);
}
}
return sum;
}
public static void main(String[] args) {
Calculate returnTest = new Calculate();
long sum = returnTest.calculate(10);
System.out.println("当n是10的时候,和是:" + sum);
}
}
部分值测试:
//题目还是比较简单的,完全是数学问题,分析发现,当奇数都是负数1除外(1用 -1+2来算)
//结果一致,那么结果就是相邻的数相减,然后除2,奇数需要把最后一个算上
//所以得到下面的方法
public static int test(int n) throws Exception{
if(n<=0)
throw new Exception("n cannot be zero");
if(n%2==1){
return 2-((n+1)>>1);
}else{
return 2+(n>>1);
}
}
public class Ex3_3_1{
public Ex3_3_1()
{
public static void main(String[] agrs)
{
int result=0;
for(int i=1;i<=100;i++){
result += i;
}
System.out.println("结果是"+result);
}
}
}