第一种:
int n = 1999;
int s = 0
while(n>0){
s += n%10;
n/=10;
}
第二种:
思想:将数字字符串转换为char数组,运用for循环遍历字符数字使用Character.getNumericValue(chars[i])方法将字符转换成整数。
代码示例:
String s = "1122";
char[] chars = s.toCharArray();
int[] numbers = new int[chars.length];
//转换int型
for(int i = 0;i<chars.length;i++){
numbers[i] = Character.getNumericValue(chars[i]);
}
//求和
int sum = 0;
for(int number:numbers){
sum+=number;
}
第三种:
思想:使用Integer自带的parseInt方法,将字符串转换为int,用除法和取模运算获得每位数字。
代码示例如下:
public class 将字符串每位数字相加 {
public static void main(String[] args) {
// TODO Auto-generated method stub
String str = "1122";
int n = Integer.parseInt(str);
int l = str.length();
int a1 = (int)Math.pow(10, l-1);
int s = 0;
int a = n;
for(int i = a1;i>0;i/=10) {
s+=a/i;
a = a%i;
}
System.out.println(str+"的各位数字之和是:"+s);
}