首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

获得一个整数的各个位置下的数的和

2012-09-29 
获得一个整数的各个位置上的数的和今天在BD上回答问题的时候看到的:问题:编写一个方法,实现求某个整数的各

获得一个整数的各个位置上的数的和

今天在BD上回答问题的时候看到的:
问题:编写一个方法,实现求某个整数的各个位上的数字之和

此时的我就想到了一种方法,真是可悲啊。。。惭愧!获得一个整数的各个位置下的数的和

首先附上我的方法:
解决方法一:

public?static?int?sum(int?num)?{
????????????????int?len?=?String.valueOf(num).length();?//得到数的长度
????????????????int?returnNum?=?0;?//最后返回值
????????????????for(int?i?=?0?;?i?<?len;?++i)?{//按照数的长度计算各个位上的值,并叠加?
????????????????????????int?operationNum?=?(int)?Math.pow(10,?i);?//获得计算数(为10的N次方),用于计算得到各个位置上的数
????????????????????????int?result?=?(num?%?(operationNum*10))/operationNum;?//得到当前位置上的数
????????????????????????returnNum?+=?result;?//将当前位置上的数叠加到返回值
????????????????}
????????????????return?returnNum;?//返回返回值(各个位置上的数的和)
????????}


自己感觉还不错,呵呵...
然后又看了下别人的做法,真让我自叹不如啊!学习了!
其方法,简单、有效!
开眼了...哈哈!
值得学习一下!


不多说,直接附上方法:
解决方法二:
public?static?int?qiuhe(int?num)?{
????????????????int?result?=?0;
????????????????String[]?eachNums?=?(num?+?"").split("");?//直接独立出各个位置上的数,不错!获得一个整数的各个位置下的数的和
????????????????for?(int?i?=?1;?i?<=?eachNums.length?-?1;?i++)?{
????????????????????????result?+=?Integer.parseInt(eachNums);

}

return?result;

}




解决方法三:

public?static?int?method(int?num){

????int?ret?=?0;

????while(num>0){

?????????ret?+=?num%10;?//获得个位上的数

?????????num?/=?10;?//去除当前个位,将十位上的数变成个位。感觉很不错,学习!获得一个整数的各个位置下的数的和

????}

????return?ret;

}?


本贴一共附上以上三个方法
大家觉得那个方法好,或者有什么更好的方法?

热点排行