整数题目内容:你的程序要读入一个整数,范围是[-100000,100000]。然后,用汉语拼音将这个整数的每一位输出出来。如输入1234,则输出:yi er san si注意,每个字的拼音之间有一个空格,但是最后的字后面没有空格。当遇到负数时,在输出的开头加上“fu”,如-2341输出为:fu er san si yi输入格式:一个整数,范围是[-100000,100000]。输出格式:表示这个整数的每一位数字的汉语拼音,每一位数字的拼音之间以空格分隔,末尾没有空格。
定义11个元素的字符串数组保存0~9的拼音及负数拼音,用取模与除,求出每一位的数值作为字符串下标,用字符串替换。
代码如下,仅供参考,切勿直接复制粘贴,了解它的思路之后,自己尝试实现一下:
import java.util.Scanner;
public class Demo56 {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
int num = in.nextInt();
int s[]=new int[1111];
int n = 0;
int cnt = 0;
int m = 1;
int num1 = 0;
while(num!=0)
{
num1=num%10;
num=num/10;
s[cnt]=num1;
cnt++;
n++;
} //将输入的数据用数组表现出来
for(cnt=n-1;cnt>=0;cnt--) {
m=s[cnt]; //逆序输出数组
switch(m)
{
case 0:System.out.print("ling");
break;
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;
}
System.out.print(" ");
}
}
}
希望对题主有所帮助,可以的话,帮忙点个采纳!