我这个求前N项的和错在哪里?

//实现1+2+3+4+...+N,不使用循环。

import java.util.Scanner;
public class TestCode {
public static void main(String []args)
{
Scanner Sc = new Scanner(System.in);
int N=Sc.nextInt();

System.out.println(An(0,N));
}

public static int An(int sum,int N)
{
    int s=0;
    sum=sum+1;
    s=s+sum;
    if(N>1)
    return An(sum,N-1);
    else
        return s;
}

}

这种方法是递归
你错在,每次递归时,都给s赋值为0;
如果每次s=0;
你的s=s+sum就没达到意义

 不需要那么麻烦
public int Sum(int N)
{
if (N == 0) return 0;
return N+(Sum(N-1));
}
调用
System.out.println(Sum(0,N));

图片说明