黑马程序员技术交流社区
标题:
键盘录入一个大于0小于1000的整数,转化为汉字在控制台输出
[打印本页]
作者:
18001105207
时间:
2016-9-17 22:56
标题:
键盘录入一个大于0小于1000的整数,转化为汉字在控制台输出
package test01;
import java.util.HashMap;
import java.util.Map;
import java.util.Scanner;
public class Test01 {
public static void main(String[] args) {
Map<Integer,Character> hm = new HashMap<Integer,Character>();
hm.put(1, '一');
hm.put(2, '二');
hm.put(3, '三');
hm.put(4, '四');
hm.put(5, '五');
hm.put(6, '六');
hm.put(7, '七');
hm.put(8, '八');
hm.put(9, '九');
Scanner sc = new Scanner(System.in);
while(true) {
System.out.println("请输入要转化的数字(1-999):");
int a = sc.nextInt();
if(a>0 && a<10) {
System.out.println(hm.get(a));
}
else if(a>9 && a<100) {
int ge = a%10;
int bai = a/10%10;
if(ge == 0) {
System.out.println(hm.get(bai)+"十");
}else{
String str = hm.get(bai)+"十"+hm.get(ge);
System.out.println(str);
}
}
else if (a>99 && a< 1000) {
int ge = a%10;
int shi = a/10%10;
int bai = a/10/10%10;
if(shi == 0 && ge != 0) {
String str = hm.get(bai)+"百"+"零"+hm.get(ge);
System.out.println(str);
}
else if(shi != 0 && ge == 0) {
String str = hm.get(bai)+"百"+hm.get(shi)+"十";
System.out.println(str);
}
else if(shi == 0 && ge == 0) {
String str = hm.get(bai)+"百";
System.out.println(str);
}
else{
String str = hm.get(bai)+"百"+hm.get(shi)+"十"+hm.get(ge);
System.out.println(str);
}
}
else {
System.exit(0);
}
}
}
}
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2