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 }

 

posted @ 2016-03-15 00:19  Java-100  阅读(251)  评论(0编辑  收藏  举报

进入Java-100博客   博客声明