編寫一個程序,將n1至n2中的所有正數(包括兩端)合計並存儲在變量n中。你的程序應該打印出消息「n2 - n1數字的總和」,然後是總和(n)的值。在Java中查找給定整數範圍(僅限正數)
現在,這是我的代碼:
/*您在這裏的代碼*/
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會怎麼樣? – Eran
不接受是什麼意思? –
我不知道測試用例是什麼問題! –