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