题意:
给定一个数,计算各位相加的结果,并用其英文表示出来
分析:
只要注意一点,输入最大为10的100次方,已经超出了int的表示范围,所以要以字符串形式输入,然后转化成整型处理
总结:java API不熟悉,String.charAt(i)可以去到字符串的第I位,不知道的话很麻烦
package AdvancedLevelPractice;
import java.util.Scanner;
public class pat1005 {
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner scanner = new Scanner(System.in);
String[] digitStrings = {"zero","one","two","three","four","five","six","seven","eight","nine"};
String inputString = scanner.next();
int sum = 0;
for(int i = 0; i < inputString.length(); i++ ){
sum += <span style="color:#ff0000;">inputString.charAt(i)</span> - '0';
}
int[] sumInt = new int[4];
int index = 0;
while(sum != 0){
sumInt[index++] = sum % 10;
sum /= 10;
}
for(int i = index - 1; i > 0; i--){
System.out.print(digitStrings[sumInt[i]]+" ");
}
System.out.print(digitStrings[sumInt[0]]);
scanner.close();
}
}