Java重写《C经典100题》 --18
【程序18】
题目:求s=a+aa+aaa+aaaa+aa...a的值,其中a是一个数字。例如2+22+222+2222+22222(此时共有5个数相加),几个数相加有键盘控制。
1.程序分析:关键是计算出每一项的值。
2.程序源代码:
1 import java.util.Scanner; 2 3 /*本文转自博客:www.cnblogs.com/java-100 4 【程序18】 5 题目:求s=a+aa+aaa+aaaa+aa...a的值,其中a是一个数字。 6 例如2+22+222+2222+22222(此时共有5个数相加),几个数相加有键盘控制。 7 程序分析:关键是计算出每一项的值。 8 */ 9 10 public class Java18 { 11 12 public static void main(String[] args) { 13 System.out.print("请输入a的值以及个数,中间以空格隔开:"); 14 Scanner scanner = new Scanner(System.in); 15 int a = scanner.nextInt(); 16 int number = scanner.nextInt(); 17 scanner.close(); 18 int sum = a, digit = a; 19 //两种方法 20 /*while (i++ < number) { 21 digit += a; 22 sum += digit; 23 if (i >= number) { 24 System.out.print(digit + "=" + sum); 25 break; 26 } 27 System.out.print(digit + "+"); 28 a *= 10; 29 }*/ 30 System.out.print(digit + "+"); 31 for(int i = 2;i<=number;i++){ 32 a *= 10; 33 digit += a; 34 sum += digit; 35 if (i >= number) { 36 System.out.print(digit + "=" + sum); 37 break; 38 } 39 System.out.print(digit + "+"); 40 } 41 } 42 }