解题思路:
注意!!!
此题有一个坑, 就是上图红框里的部分, 如果踩坑了, 代码就如下
import java.util.*;
public class Main{
public static void main(String[] args){
Scanner sc = new Scanner(System.in);
while(sc.hasNext()){
int n = sc.nextInt();
int sum = 0;
if(n < 10){
System.out.println(n);
}
while(n > 9){
int m = n % 10;
sum = n / 10 + m;
n = sum;
}
System.out.println(sum);
}
}
}
自测看着绿了, 其实这都是假象
由于该题是超长数字, 所以要使用String类型
遍历字符串, 将各个字符转换成数字相加
最后将sum
转换成String
输出
import java.util.*;
public class Main{
public static void main(String[] args){
Scanner sc = new Scanner(System.in);
while(sc.hasNextLine()){
String str = sc.nextLine();
while(str.length() > 1){
int sum = 0;
for(int i = 0; i < str.length(); i++){
sum += str.charAt(i) - '0';
}
str = String.valueOf(sum);
}
System.out.println(str);
}
}
}