问题在此
输入一个数字,计算其中的数的和,直至为个位数.
例如:
计算数字:输入[25251],得到->15,继续获取得到->6.
源代码
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运行.