int类型的整数转换成汉字
一、源代码:IntegerNumberToChinese.java
package cn.com.zfc.example; import java.util.Scanner; /**
* 将一个int类型的整数转换成汉字
*
* @author zfc
*
*/
public class IntegerNumberToChinese { // 定义int转换成汉字的方法
private static String change(int n) {// 数字转换成汉字表示
String[] c = { "零", "壹", "贰", "叁", "肆", "伍", "陆", "柒", "捌", "玖" };
String[] d = { "", "十", "百", "千", "万", "十", "百", "千", "亿", "十", "百", "千" };
String ss = n + "", buffer = new String();
boolean b = true;
int j;// 第一次出现零
for (int i = 0; i < ss.length(); i++) {
for (j = 0; j <= 9; j++) {// 遍历int整数
if (ss.charAt(i) == j + '0') {
break;
}
}
if ((ss.length() + 2) % 4 == 0 && i == 0 && j == 1) {
buffer += d[ss.length() - i - 1];
} else if (i != ss.length() - 1 && j == 0) {
if (b) {
buffer += c[j];
b = false;
}
} else if (i == ss.length() - 1 && j == 0) {
if (!b) {
buffer = buffer.substring(0, buffer.length() - 5);
} // 如果最后一个也为0,则去掉之前添加的ling
} else {
buffer += c[j] + d[ss.length() - i - 1];
b = true;
}
}
return buffer;
} public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("请输入int类型的整数:");
int n = sc.nextInt();
sc.close();
System.out.println("对应的汉字大写:" + change(n));
}
}
二、运行效果