给定一个十进制整数n.输出n的各位数字之和
格式输入这个整数n.输出一个整数表示答案
求具体代码,谢谢谢谢谢一个
参考高斯算1到n的和,用一个for循环就可以了 首尾想加
import java.util.Scanner;
public class Test1 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();//这个地方如果你输入的不是数字可能出错,我就不处理了
int sum = 0;//用来保存各位数字之和
while(n>=1){
sum += n%10;
n = n/10;
}
System.out.println(sum);
}
}
楼上正解,学习了,之前一直把数字charAt后一个个加的。
除了楼上的写法,其实还可以使用递归的方法完成相同的功能,顺便也可以学习一下递归,示例如下:
public class SumForNumber {
//总和变量
public static int sum = 0;
//递归求和
public static int getSum(int number){
//取出当前数字的个位数值
int gw = number%10;
//将个当前数字的个位数值累加到总和变量上
sum += gw;
//将当前数值去掉上面已经累加的个位数值作为新的值
int newNum = number/10;
//如果新值大于0,则调用该方法本身(递归),继续执行
if(newNum > 0) getSum(newNum);
//当值小于或等于0时,证明所有的位值均已累加完成,返回最终结果
return sum;
}
//写个main方法测试一下
public static void main(String[] args) {
System.out.println(SumForNumber.getSum(25152));
}
}
一样的很简单吧。