请计算0~1000中各个位的数字之和。例如:数字932,则各个位的数字之和为14

 

 1 package com.gsa.day3;
 2 
 3 public class HomeWorkSample_02 {
 4 
 5     public static void main(String[] args) {
 6         /**
 7          * 请计算0~1000中各个位的数字之和。例如:数字932,则各个位的数字之和为14
 8          * 1. 嵌套循环
 9          * 2. 每个数字长度不一样, 数字的长度需要计算
10          * 3. 根据每个数字的长度来求各个位数上的和, 接着去判断数字相加之和是否为14
11          */
12         for (int i = 0; i < 1000; i++) {
13             int a = i; //让a变量来分别存储0~1000中各个数字
14             int j = 0; //记录0~1000中各个数字的长度
15             int b = 0; //记录0~1000中各个数字位数相加的和
16             do {
17                 j++;
18                 a = a / 10;
19                 if (a == 0) {
20                     break;
21                 }
22             } while(true);
23             
24             int m = i;
25             for (int n = 0; n < j; n++) { //得到0~1000之间数字的位数, 然后通过遍历位数的长度来计算各个位数相加的和
26                 b = b + m % 10;
27                 m = m / 10;
28             }
29             if (b == 14) {
30                 System.out.println("数字 " + i + " 的各个位数之和 : 14");
31             }
32         }
33     }
34     
35 }

 

posted on 2016-03-30 19:50  Oliver·Keene  阅读(364)  评论(0)    收藏  举报