第1个回答 2012-12-20
while(n>0){
tmp = m.intValue();
result = tmp%10 +result;
tmp = tmp/10;
}
你这是个死循环啊。。。n永远大于0。。。
希望可以帮助你,谢谢采纳。。。
第2个回答 推荐于2018-04-05
import java.util.Scanner;
public class Ex5_2 {
public int sumDIgits(long n){
int tmp;
int result = 0;
Long m = new Long(n);
tmp = m.intValue();
while(tmp>0){
result = tmp%10 +result;
tmp = tmp/10;
}
return result;
}
public static void main(String[] args) {
System.out.println("Please Input a long number:");
Scanner sc = new Scanner(System.in);
System.out.println(Ex5_2.sumDIgits(sc.nextLong()));
}
}本回答被提问者和网友采纳
第3个回答 2012-12-20
import java.util.*;
class Ex5_2
{
Ex5_2()
{
System.out.println("Please Input a long number:");
Scanner sc = new Scanner(System.in);
String s = sc.next();
int x = s.length();
int sum = 0;
for(int i = 0;i<x;i++)
{
int a = Integer.parseInt(s.substring(i,i+1));
sum = sum+a;
}
System.out.println(sum);
}
public static void main(String[] args)
{
new Ex5_2();
}
}
这样也可以,就是有点绕