题目描述
正整数的各位数字之和被Tom称为Tom数。求输入数(<2^32)的Tom数!
输入
每行一个整数(<2^32).
输出
每行一个输出,对应该数的各位数之和.
样例输入
12345
56123
82
样例输出
15
17
10
(此题想出办法简单,但是重要在题中的一些转换细节,容易卡点)
思考:
首先通过读题初步了解到考点为对输入数据的处理,进一步为分解处理。
通过此题我学习巩固到的知识:
1.不确定的多行输入(Scanner接收),处理方法为
Scanner in = new Scanner(System.in);
while (in.hasNextInt()) {
…
}
2.将数据转换为char类型时,数字并不是char所代表的数字,因此得进行转换。
此题纠结处:
由于个人强迫症原因,将题例数据复制之后,程序就会运行,但是只会出来两个数据,第三个数据必须按一次回车才能出来。所有在这个地方纠结了很久。后来发现在辅助数据的时候,后面有个空格,那个代表回车,一起复制下来就不会出现这种问题。
代码:
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
while (in.hasNextInt()) {
char[] array = in.next().toCharArray();
int sum=0;
for (int i = 0; i < array.length; i++) {
sum=sum+(array[i]-'0');
}
System.out.println(sum);
}