在学习的过程中遇到了这样的一个问题:
求s=a+aa+aaa+aaaa+aa…a的值,其中a是一个数字。例如2+22+222+2222+22222(此时共有5个数相加),几个数相加有键盘控制。
首先分析所要求的算式,算式由n个具有规律的数相加;每一项的规律就是由相同的数组成,第几个数就有几个相同数,这个规律可以通过10的次方来实现。下面是实现代码:
import java.util.Scanner;
public class Test {
public static void main(String[] args) {
//定义Scanner类
Scanner sc=new Scanner(System.in);
System.out.println("请输入算式中相同的整数:");
int a = sc.nextInt();
System.out.println("请输入算式的个数:");
int n = sc.nextInt();
//定义一个变量存储算式的和
int sum=0;
//定义一个变量存储每一个算式的值
int sum1=0;
//利用循环计算算式的和
for(int i=0;i<n;i++){
sum1+=a*Math.pow(10, i);
System.out.print(sum1);
if(i!=n-1){
System.out.print("+");
}
sum+=sum1;
}
System.out.println("="+sum);
}
}
下面是输入相同的整数为2,算式的个数为6的测试结果。算式个数和算式中相同的整数都可通过键盘输入进行控制。

希望对你有所帮助><!
该文章展示了一个Java程序,该程序使用Scanner获取用户输入的数字和项数,然后通过循环和10的幂计算连续重复数字之和,例如2+22+222+...。程序动态生成算式并输出结果。
2万+

被折叠的 条评论
为什么被折叠?



