Program:
求s=a+aa+aaa+aaaa+aa...a的值,其中a是一个数字。
例如2+22+222+2222+22222
代码如下:
1 /* 2 * 求解形如:a+aa+aaa+aaaa...的表达式 3 * 4 * Date Written:2017-11-10 5 * 6 * */ 7 8 package test; 9 10 import java.util.Scanner; 11 12 public class TestDemo { 13 14 public static void main(String args[]) { 15 16 /* 17 * 计算形如:a+aa+aaa+aaaa式子的值 18 * 19 * */ 20 21 int num = 0; //接收用户输入的a 22 int count = 0; //接受用户输入的表达式的长度 23 Scanner scan = new Scanner(System.in); 24 25 System.out.println( "请输入要计算的数字的值:" ); 26 num = scan.nextInt(); 27 28 System.out.println( "请输入数字的表达式的长度:" ); 29 count = scan.nextInt(); 30 31 getResult(num,count); 32 } 33 34 35 public static void getResult(int num,int count) { 36 37 int sum = 0; //记录结算结果 38 int num1 = num; //记录当前的加数的值 39 40 int i = 0; 41 while( i < count-1 ) { //计算前count-1个值,这样在计算第count个时输出等于号 42 43 System.out.print( num1 + "+" ); 44 sum += num1; 45 num1 = num + num1*10; 46 i++; 47 } 48 sum += num1; //前count-1个结果与最后一个加数相加 49 System.out.print( num1 + "=" + sum ); //打印最后一个加数和最后结果 50 51 } 52 53 }