JavaScript:计算数字获得其个位数

问题在此

输入一个数字,计算其中的数的和,直至为个位数.

例如:

计算数字:输入[25251],得到->15,继续获取得到->6.

html

源代码

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
<!DOCTYPE html>
<html>
<head>
    <title>计算数字</title>
    <meta charset="utf-8"/>
    <script src="http://libs.baidu.com/jquery/2.0.0/jquery.min.js"></script>
    <script type="text/javascript">
     $(document).ready(function() {
        $("#jisuanbtn").click(function(){
            var number = $("#numberinput").val();
            try {
                number = parseInt(number);
                var result = jisuans(number);
                //console.log("您输入的数据是:"+number+",计算结果是:"+result);
                $("#showresult").html("您输入的数据是:"+number+",计算结果是:"+result);
            } catch(err) {
                console.log("------------>转换报错了!");
            }
        })     
     });

    /**
     * 计算数字,
     * 例如:
     *      1.输入[25251],
     *      2.先计算出[15],
     *      3.计算结果[15]大于等于10,
     *      4.继续进行计算,得出最终结果[6]返回给调用者.
     *
     *
     */
     function jisuans(nums){
        var numberstr = ""+nums;
            var narray = numberstr.split("");
            var countitem = 0 ;
            for (var i = 0; i < narray.length; i++) {
                countitem += parseInt(narray[i]);
            }
            if(countitem>=10){
                return jisuans(countitem);
            }
            return countitem;
    }



    </script>
</head>
<body>
计算数字:输入[25251],得到->15,继续获取得到->6.
<br />
<input type="text" id="numberinput" /><input type="button" id="jisuanbtn" value="计算" />
<br />
<div id="showresult" style="font-size:22px;color:red;"></div>
</body>
</html>

Java实现

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
import java.io.*;
import java.util.Scanner;

/**
 * 计算数字.
 * <p>
 * <p>
 * Created by prd   on 2016/03/24.
 */
public class Main {

    public static void main(String[] args) throws IOException {
        Scanner sc = new Scanner(System.in);
        System.out.println("---->随便输入个数字:");
        try {
            int number = sc.nextInt();
            String numstr = String.valueOf(number);
            System.out.println("您输入的是:" + numstr + ",计算结果是:" + jisuan(numstr));
        } catch (Exception e) {
            e.printStackTrace();
            System.out.println("------>逗逼,不要乱输入!");
        }
    }


    /**
     * 计算数字,
     * 例如:
     * 1.输入[25251],
     * 2.先计算出[15],
     * 3.计算结果[15]大于等于10,
     * 4.继续进行计算,得出最终结果[6]返回给调用者.
     *
     * @param numstr
     * @return
     */
    private static int jisuan(String numstr) {
        int result = 0;
        String[] array = numstr.split("");
        for (int i = 0; i < array.length; i++)
            result += Integer.valueOf(array[i]);
        return (result >= 10) ? jisuan(String.valueOf(result)) : result;
    }
}

亲测可用.推荐使用Chrome运行.