在学习的过程中遇到了这样的一个问题:
求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的测试结果。算式个数和算式中相同的整数都可通过键盘输入进行控制。
希望对你有所帮助><!