Java中把一个long类型的数的每一位相加并输出其和

importjava.util.Scanner;publicclassEx5_2{publicstaticintsumDIgits(longn){inttmp;intre... import java.util.Scanner;
public class Ex5_2 {
public static int sumDIgits(long n){ int tmp;
int result = 0;
Long m = new Long(n);
while(n>0){
tmp = m.intValue();
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);
Ex5_2 ex = new Ex5_2();
System.out.println(ex.sumDIgits(sc.nextLong()));
}

}
帮忙看怎么输入数了以后就什么都不输出求解答啊
展开
 我来答
llei32wang
2012-12-20 · TA获得超过2736个赞
知道大有可为答主
回答量:1478
采纳率:60%
帮助的人:1398万
展开全部
代码有问题是死循环 while(n>0){循环中没有重新给n赋过值总是大于0会一直循环的。
这样就行了
import java.util.Scanner;
public class Ex5_2 {
public static int sumDIgits(long n){
int result = 0;
while(n>0){
result = (int) (n%10 +result);
n = n/10;
}
return result;
}
public static void main(String[] args) {
System.out.println("Please Input a long number:");
Scanner sc = new Scanner(System.in);
Ex5_2 ex = new Ex5_2();
System.out.println(ex.sumDIgits(sc.nextLong()));
}
}
牙刷的悲伤
2012-12-20 · TA获得超过1467个赞
知道小有建树答主
回答量:341
采纳率:0%
帮助的人:392万
展开全部
while(n>0){
tmp = m.intValue();
result = tmp%10 +result;
tmp = tmp/10;
}
你这是个死循环啊。。。n永远大于0。。。
希望可以帮助你,谢谢采纳。。。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友4b68195
推荐于2018-04-05 · TA获得超过1520个赞
知道大有可为答主
回答量:1773
采纳率:100%
帮助的人:1714万
展开全部
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()));
}
}
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
songhuiyear
2012-12-20 · TA获得超过783个赞
知道小有建树答主
回答量:291
采纳率:95%
帮助的人:74.5万
展开全部
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();
}
}
这样也可以,就是有点绕
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式