java求s=a+aa+aaa+aaaa+aa...a的值

KLQ 2020-05-22 10:11:59 java常见问答 5797

你知道java求求s=a+aa+aaa+aaaa+aa...a的值应该如何实现吗?下面一起来看看这道java基础编程题的解法吧。

一、题目

求s=a+aa+aaa+aaaa+aa...a的值。

注:

在这当中,a是一个数字。

例:

2+22+222+2222+22222(这个时候一共有5个数相加),几个数相加有键盘控制。

二、思路

最关键的步骤在于,将每一项的值计算出来。

三、代码实现

import java.util.Scanner;
public class Prog8
{
    public static void main(String[] args)
    {
        System.out.print("求s=a+aa+aaa+aaaa+...的值,请输入a的值:");
        Scanner scan = new Scanner(System.in)
            .useDelimiter("\s*"); //以空格作为分隔符
        int a = scan.nextInt();
        int n = scan.nextInt();
        scan.close(); //关闭扫描器
        System.out.println(expressed(2, 5) + add(2, 5));
    }
    //求和表达式
    private static String expressed(int a, int n)
    {
        StringBuffer sb = new StringBuffer();
        StringBuffer subSB = new StringBuffer();
        for (int i = 1; i < n + 1; i++)
        {
            subSB = subSB.append(a);
            sb = sb.append(subSB);
            if (i < n)
                sb = sb.append("+");
        }
        sb.append("=");
        return sb.toString();
    }
    //求和
    private static long add(int a, int n)
    {
        long sum = 0;
        long subSUM = 0;
        for (int i = 1; i < n + 1; i++)
        {
            subSUM = subSUM * 10 + a;
            sum = sum + subSUM;
        }
        return sum;
    }
}

以上就是java求出s=a+aa+aaa+aaaa+aa...a的值的代码实现方式了。

大家可以仔细的看一看,以上代码仅供参考,更多java基础编程题,欢迎继续来奇Q工具网的java实例栏目了解。

推荐阅读:

java判断101-200之间的素数并输出

Java中while语句怎么用?利用while语句统计字符的个数

输出这个月共有多少天java如何实现?