[JAVA]从键盘输入一个任意整数,求各位数字之和。

方法:public static int sumDigits(long n)
例如:sumDigits(234)返回9(2+3+4)
要求:使用求余算运算符%提取数字,用除号/去掉提取出来的数字。例如:使用234%10(=4)抽取4,然后使用234/10从234中去掉4。使用一个循环来反复提取和去掉每位数字,直到所有的数都提取完为止。

求各位数字之和的程序如下:
import java.util.Scanner;
public class N {
public static int sumDigits(long n){
int sum=0;
while(n>0){
int m=(int)(n%10);
sum=sum+m;
n=n/10;
}
return sum;
}
public static void main(String[] args) {
try{
System.out.println("请输入数字:");
Scanner sc=new Scanner(System.in);
long l=sc.nextLong();
System.out.println("输入数字的各位数之和为"+sumDigits(l));
}catch(Exception e){
System.out.println("您输入的不是数字!");
}
}
}
运行结果:
请输入数字:
49291
输入数字的各位数之和为25
温馨提示:内容为网友见解,仅供参考
第1个回答  2012-10-03
这个很简单,参考一下我的程序
import java.util.Scanner;
public class sumDigit {
public static int sumDigits(long l){
int sum=0;
while(l!=0){
sum=sum+(int)(l%10);
l=l/10;
}
return sum;
}
public static void main(String []args){
Scanner s=new Scanner(System.in);
long l=s.nextLong();
System.out.println(sumDigits(l));
}
}
第2个回答  2018-03-30

1、package test1; import java.util.Scanner; public class Test6 ;public static void main;

Scanner input = new Scanner( System.in ); 

System.out.println; String str = input.next(); 

int result = 0; for( int i=0;i<str.length();i++ ) 

int a = Integer.parseInt(str.charAt(i)+""); 

result+=a; System.out.println( "您输入的数字是:"+str+",各位数字之和为:"+result )。

2、运行结果:请输入数字:49291,输入数字的各位数之和为25。

本回答被网友采纳
第3个回答  2012-10-03
public static int sumDigits(long n)
{
int l = 0;
while(n!=0)
{
l += n%10;
n = n/10;
}
return l;
}
第4个回答  2018-12-27
Scanner input = new Scanner(System.in);
System.out.println("请输入数字");
int num1 = input.nextInt();

int sum = 0;
while(num1!=0){
sum += num1%10;
num1 = num1/10;
}
System.out.println(sum);
相似回答