题目内容:
你的程序要读入一个整数,范围是[-100000,100000]。然后,用汉语拼音将这个整数的每一位输出出来。
如输入1234,则输出:
yi er san si
注意,每个字的拼音之间有一个空格,但是最后的字后面没有空格。当遇到负数时,在输出的开头加上“fu”,如-2341输出为:
fu er san si yi
输入格式:
一个整数,范围是[-100000,100000]。
输出格式:
表示这个整数的每一位数字的汉语拼音,每一位数字的拼音之间以空格分隔,末尾没有空格。
输入样例:
-30输出样例:
fu san ling
时间限制:1000ms内存限制:64000kb
代码:
package hello;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
int n = in.nextInt();
int m=0;
int x,result=0;
if(n>=-100000&&n<=100000)
{
if(n<0)
{
System.out.print("fu ");
n=-n;
}
while(n!=0) //将数字倒置
{
x=n%10;
n=n/10;
result=result*10+x;
m++;//位数
}
for(int i=1;i<=m;i++) //将倒置数字输出
{
int shuzi = result%10;
switch(shuzi)
{
case 1 :System.out.print("yi ");
break;
case 2 :System.out.print("er ");
break;
case 3 :System.out.print("san ");
break;
case 4 :System.out.print("si ");
break;
case 5 :System.out.print("wu ");
break;
case 6 :System.out.print("liu ");
break;
case 7 :System.out.print("qi ");
break;
case 8 :System.out.print("ba ");
break;
case 9 :System.out.print("jiu ");
break;
// case 1 :System.out.print("yi ");
default:
break;
}
result/=10;
}
}
}
}