【发布时间】:2017-01-26 01:22:30
【问题描述】:
编写一个程序,对从 n1 到 n2 的所有正数求和,并存储在变量 n 中。您的程序应该打印消息“n2 - n1 个数字的总和是”,然后是总和 (n) 的值。
现在这是我的代码:
/*在这里写你的代码*/
import java.util.Scanner;
class NumSum{
public static void main(String args[]){
int n=0;
System.out.println("The sum of n2-n1 numbers is "+sum(n));
}
public static int sum(int n){
int n1,n2;
Scanner sc=new Scanner(System.in);
n1=sc.nextInt();
n2=sc.nextInt();
int a=n1;
n=n2-n1+1;
int d=1;
int x=0;
//if(n1>0&&n2>0){
// for(int i=n1;i<=n2;i++){
// n+=i;
// }
//}else
if(n1<0&&n2>0){
x=n*(2*a+(n-1)*d)/2;
}else if(n1>0&&n2>0){
x=n*(2*a+(n-1)*d)/2;
}else if(n1<0&&n2<0){
x=0;
}else if(n1>0&&n2<0){
x=0;
}
return x;
}
}
但它不接受上述问题中给出的测试用例? 有人可以帮忙吗?
【问题讨论】:
-
不接受是什么意思?
-
我不知道测试用例是什么问题!
-
n1和n2的值在哪里输入??还有为什么main方法里面有个很大的空格??? -
在函数sum()中
-
n到底在做什么?您希望通过sum(0)实现什么目标?