给定一个0~1000的整数,求各位数的和,例如345的结果是 3+4+5=12。请使用 Java 代码实现
解题思路:
将这个数的每一位进行分离,相加;
(推至个位循环求余法)分离办法:
- 先求出个位数,用 “n%10” 求余得;
- 利用 “n/10” 将十位推至个位,继续个位求余(以此类推百位到十位,十位到个位);
- while循环,直至n==0;
public static void main(String args[]) {
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
/*
* n 变量为[0,1000)之间的任意整数请在控制台上输出各位数的和
* */
int sum=0;
/* for(int i=1;i<=4;i++){
sum+=n%10;//算末位数,相加
n=n/10;//每循环一次位数减少一位推到末位,(利用int类型数相除得整数的性质)
}
System.out.println(sum);*/
while(n!=0){ /*此处用while比for方便,【while可以用一个终极条件判定,不需要必须规定循环次数】,即n!=0*/
sum+=n%10;//算末位数,相加
n=n/10;//每循环一次位数减少一位推到末位,(利用int类型数相除得整数的性质)
}
System.out.println(sum);
}
此处用while循环较好,因为没有具体的循环次数,只有一个终极的判断条件