编写一个函数sum求s=x+xx+xxx+xxxx+......的值,其中x是一个数字,将求得的和返回,要求使用while循环进行累加求和。例如1+11+111+111+11111(此时共有5个数字)

编写一个函数sum求s=x+xx+xxx+xxxx+......的值,其中x是一个数字,将求得的和返回,要求使用while循环进行累加求和。例如1+11+111+111+11111(此时共有5个数字相加)。

 方式一:

package day_2023_4_12;

import java.util.Scanner;

public class Test {
    public static void main(String[] args) {
        System.out.println(new Test().sum());
    }
    long sum(){
        long x,sum=0,i=1;
        System.out.println("请输入相加的项数:");
        Scanner scanner=new Scanner(System.in);
        int n=scanner.nextInt();
        System.out.println("请输入数字x的值:");
        x=scanner.nextInt();
        while(i<=n){
            sum+=x;
            x=x*10+1;
            i++;
        }
        return sum;
    }
}

 方式二:

package day_2023_4_12;

import org.junit.Test;

import java.util.Scanner;

public class Sum {
    public static void main(String[] args) {
        System.out.println(new Sum().sum());
    }
     long sum(){
        long x,y=0,s=0;
        Scanner scan=new Scanner(System.in);
        System.out.println("请输入相加的项数:");
        int n=scan.nextInt();
        System.out.println("请输入数字x的值");
        x=scan.nextInt();
        int i=0;
        while(i<n){
            y=y+x;
            s=s+y;
            x=x*10;
            i++;
        }
        return s;
    }
}