java用递归算法求 1-2+3-4+5-6......+
展开全部
楼上的,题目要求用递归算法!(你以为把类起名叫DiGui,就是真的递归了吗?哈哈,开个玩笑)
public class A {
public static int d(int n) {
int temp = n;
if (n == 1) {
return 1;
}
if (n % 2 == 0) {
n = -n;
}
return n + d(temp - 1);//这句是关键,它又调用了自己,这才叫递归
}
public static void main(String[] args) {
System.out.println(A.d(11));
}
}
public class A {
public static int d(int n) {
int temp = n;
if (n == 1) {
return 1;
}
if (n % 2 == 0) {
n = -n;
}
return n + d(temp - 1);//这句是关键,它又调用了自己,这才叫递归
}
public static void main(String[] args) {
System.out.println(A.d(11));
}
}
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
//花了几分钟就写出来了,哈哈,代码很简单,就不写注释了,有疑问,再问
public class DiGui {
public static void main(String args[]){
int n = 3;
int rst = getResult(n);
System.out.println(n+"的执行结果:"+rst);
}
public static int getResult(int n){
int result = 0;
for(int i=1;i<=n;i++){
switch(i%2){
case 0:result -=i;
break;
case 1: result += i;
break;
}
}
return result;
}
}
public class DiGui {
public static void main(String args[]){
int n = 3;
int rst = getResult(n);
System.out.println(n+"的执行结果:"+rst);
}
public static int getResult(int n){
int result = 0;
for(int i=1;i<=n;i++){
switch(i%2){
case 0:result -=i;
break;
case 1: result += i;
break;
}
}
return result;
}
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询