比如说生日:"19900101",怎么将其计算成为最后的3?就是遍历相加,得数不是一位时,再相加
解决方案 »
- String类不能克隆吗,怎么办
- 加密器Cipher.getInstance(转换实例),求解?
- 批处理· 费解
- unix系统中生成100万个静态html文件用于访问,请问存放效率最高?
- 如何在List中交换其中的数据
- 三个数比较大小!新手问题!
- 在线等,急!各位高手,请问如何用java 程序编程获得winxp中services的信息。
- 初学者的一个问题,实在是没地方找,望高手相助
- Delphi是什么啊?
- 替妹妹问几个小问题,请高手指点,(偶不懂)
- 问个关于break的问题
- Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException原因是?
public static void main(String[] args) {
System.out.println(toOneBit(19900101));
}
// 0 和负数均返回 0
private static int toOneBit(int num) {
int sum = 0;
while(num > 0) {
sum += num % 10;
num /= 10;
}
if(sum < 10) {
return sum;
}
return toOneBit(sum);
}
}
{
char [] nums=num.toCharArray();
int count=0;
for(int i=0;i<nums.length;i++)
{
int a=Integer.parseInt(nums[i]+"");
count=count+a;
}
if(count>10)
{
count=this.add(count+"");
}
return count;
}
public static void main(String[] args) {
Count test=new Count();
int count=test.add("19900101");
System.out.println(count+"");
}
}
* 类说明
*
* @author shellfeng E-mail:[email protected]
* @version 1.0
*
*/
public class FormatStringToNumber {
private String s_formatString = "19900101"; private static int s_result = 0; public void formatTwoNumber() {
String s_tempString = String.valueOf(s_result);
if (s_tempString.length() == 2) {
s_result = Integer.parseInt(s_tempString.substring(0,1)) + Integer.parseInt(s_tempString.substring(1,2));
}
} public void formatString() {
int s_lenght = s_formatString.length();
for (int i = 0; i < s_lenght; i++) {
String s_firstNumber = s_formatString.substring(i,i+1);
s_result = s_result + Integer.parseInt(s_firstNumber);
formatTwoNumber();
}
} public static void main(String[] args) {
FormatStringToNumber s_format = new FormatStringToNumber();
s_format.formatString();
System.out.println("结果为:" + s_result);
}
}结果为:3
public static void main(String[] args) {
System.out.println(toOneBit(19900101));
}
// 0 和负数均返回 0
private static int toOneBit(int num) {
int sum = 0;
while(num > 0) {
sum += num % 10;
num /= 10;
}
if(sum < 10) {
return sum;
}
return toOneBit(sum);
}
}经典,收藏。
public class Test { public static void main(String[] args) {
String temp = "19900101";
try {
System.out.println(operate(temp));
} catch (Exception e) {
e.printStackTrace();
}
}
public static String operate(String src) throws Exception {
int length = src.length();
if(length <= 1)
return src;
else {
long result = 0;
for(int i = 0; i < length; i++) {
char temp = src.charAt(i);
if(Character.isDigit(temp)) {
result += (temp - 48);
} else {
throw new Exception("不是数字: " + temp);
}
}
return operate("" + result);
}
}
}