请问怎么实现sum+=f

已知数列的第k项为k的k次方。给定一个正整数n(1<n<10),求数列前n项的和。
例:输入3,输出32

import java.util.Scanner;

public class Welcome{
    public static void main(String[] args ) {
        Scanner input = new Scanner(System.in);
        int n,i,sum=1;
        n = input.nextInt();
        //double f;
        for(n=2;n<10;n++){
            i=n;
            double f = Math.pow(n,i);
            sum+=f;
        }

        System.out.print(sum);
    }

}


有三个错误:
1.题目要求第k项为k的k次方,所以double f = Math.pow(n,i);这里是错误的,应该是:
double f = Math.pow(i,i);
2.10的10次方数超出int类型数值范围,需要把sum的类型改为double类型。
3.前n项的和应该是:

for(i=2;i<=n;i++){  //注意跟你代码的区别
            double f = Math.pow(i,i);
            sum+=f;
        }



import java.util.Scanner;

public class Welcome{
    public static void main(String[] args ) {
        Scanner input = new Scanner(System.in);
        int n,i,sum=0;
        i = input.nextInt();
        //double f;
        for(n=1;n<=i;n++){
            double f = Math.pow(n,n);
            sum+=f;
        }
 
        System.out.print(sum);
    }
}
 

sum定义成double型吧,不然会溢出的。
n=input.nextInt()没有用啊,i变量也不需要啊 pow(n,n)就行了

n的意思是for(i=1;i<n;i++),
你输入了一个数传递给n,不要再把它重新赋值成2
求前n项的和,不是求前10项的和
你这不是代码问题,纯粹是语文没有学好