题目内容:
你的程序要读入一个整数,范围是[-100000,100000]。然后,用汉语拼音将这个整数的每一位输出出来。
如输入1234,则输出:
yi er san si
注意,每个字的拼音之间有一个空格,但是最后的字后面没有空格。当遇到负数时,在输出的开头加上“fu”,如-2341输出为:
fu er san si yi
输入格式:
一个整数,范围是[-100000,100000]。
输出格式:
表示这个整数的每一位数字的汉语拼音,每一位数字的拼音之间以空格分隔,末尾没有空格。
输入样例:
-30
输出样例:
fu san ling
public class Main {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
int x =in.nextInt();
int cnt = 0;
String[] numbers = {"ling", "yi", "er", "san", "si", "wu", "liu", "qi", "ba", "qiu"};
int[] a = new int[6];
int n = 0; //判断符号后面的空格要不要输出
if(x==0){ //特殊情况 0
System.out.println("ling");
}
if(x<0){ //判断是不是负数,把负数变成正数
System.out.print("fu");
x = -x;
n = -1;
}
int num = x; //num代替X,保证x的值不受影响
while(num>0){
a[cnt] = num%10;
cnt++;
num /= 10;
}
for(int j =cnt-1;0<=j;j--){
if(n==-1){ //是正数跳过第一个空格
System.out.print(" ");
}
n = -1;
System.out.print(numbers[a[j]]);
}
}
}