菜鸟求助java错误

来源:百度知道 编辑:UC知道 时间:2024/05/21 08:55:09
请高手帮我看看下面的程序,并请告诉我错的原因。
题目是
输入一个任意的正整数,求各位数的和。
例:123
1+2+3=6
sumDigits = 6.

多谢!
public class Q21
{
public static void main (String[] args)
{
System.out.pringln("Enter a positive integer: ");
long n = Keyboard.readLong();
System.out.println("The sum of the digits of the number is : "+ sumDigits (n));
}
public static int sumDigits (long n)
{
int sum = 0;

while (n >0)
{
sum += n%10;
n /=10;
}
return sum;
}

}

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

public class Q21
{
public static void main (String[] args)
{
System.out.println("Enter a positive integer: ");
BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
long n = 0;
try {
n = Long.parseLong(in.readLine());
} catch (NumberFormatException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
int sum = sumDigits (n);
System.out.println("The sum of the digits of the number is : "+ sum);
}
public static int sumDigits (long n)
{
int sum = 0;

while (n >0)
{
sum += n%10;
n /=10;
}
return sum;
}

}

这是我调试过的程序,你试试

x /=10;
改为n/=10;