JAVA版本:求s=a+aa+aaa+aaaa+aa...a的值,其中a是一个数字。例如2+22+222+2222+22222(此时共有5个数相加),几个数相加有键盘控制。

题目:求s=a+aa+aaa+aaaa+aa…a的值,其中a是一个数字。例如2+22+222+2222+22222(此时共有5个数相加),几个数相加有键盘控制。
题目分析:每次累加的都是a的n连,所以要获取每一次相加的数值
获取值的方法:m=m+a;a=a*10;

public static void main(String[] args) {
        Scanner scanner=new Scanner(System.in);
        System.out.println("请输入你要计算的数字,回车键结束:");
        int a =scanner.nextInt();
        System.out.println("请输入你要计算的次数,回车键结束:");
        int frequency =scanner.nextInt();
        leiJia(a, frequency);

    }

    public static void leiJia(int a, int frequency) {
        //使用m来保存每一次相加的数值。
        int m = 0;
        int sun = 0;
        for (int n = 0; n < frequency; n++) {
            //获取每次累加的n个a;
            m += a;
            //并且每次输出过程
            System.out.print(m);
            if (n == frequency - 1) {
                //如果是最后一个数,则不需要输出 +
                System.out.print("");
            } else {
                //不是最后一个数,后面还有其他的数,格式上输出+
                System.out.print("+");
            }
            //使用m的值完成赋值与运算。
            sun += m;
            //每一次完成之后,对a重新赋值,方便下一次运算
            a *= 10;
        }
        System.out.print("=" + sun);
    }

结果为:
JAVA版本:求s=a+aa+aaa+aaaa+aa...a的值,其中a是一个数字。例如2+22+222+2222+22222(此时共有5个数相加),几个数相加有键盘控制。_第1张图片

你可能感兴趣的:(java初级)