int類型的整數轉換成漢字
阿新 • • 發佈:2017-10-20
char left 效果 center string col hang util urn
int類型的整數轉換成漢字
一、源代碼:IntegerNumberToChinese.java
1 package cn.com.zfc.example; 2 3 import java.util.Scanner; 4 5 /** 6 * 將一個int類型的整數轉換成漢字 7 * 8 * @author zfc 9 * 10 */ 11 public class IntegerNumberToChinese { 12 13 // 定義int轉換成漢字的方法 14 private static String change(int n) {// 數字轉換成漢字表示15 String[] c = { "零", "壹", "貳", "叁", "肆", "伍", "陸", "柒", "捌", "玖" }; 16 String[] d = { "", "十", "百", "千", "萬", "十", "百", "千", "億", "十", "百", "千" }; 17 String ss = n + "", buffer = new String(); 18 boolean b = true; 19 int j;// 第一次出現零 20 for (int i = 0; i < ss.length(); i++) {21 for (j = 0; j <= 9; j++) {// 遍歷int整數 22 if (ss.charAt(i) == j + ‘0‘) { 23 break; 24 } 25 } 26 if ((ss.length() + 2) % 4 == 0 && i == 0 && j == 1) { 27 buffer += d[ss.length() - i - 1];28 } else if (i != ss.length() - 1 && j == 0) { 29 if (b) { 30 buffer += c[j]; 31 b = false; 32 } 33 } else if (i == ss.length() - 1 && j == 0) { 34 if (!b) { 35 buffer = buffer.substring(0, buffer.length() - 5); 36 } // 如果最後一個也為0,則去掉之前添加的ling 37 } else { 38 buffer += c[j] + d[ss.length() - i - 1]; 39 b = true; 40 } 41 } 42 return buffer; 43 } 44 45 public static void main(String[] args) { 46 Scanner sc = new Scanner(System.in); 47 System.out.println("請輸入int類型的整數:"); 48 int n = sc.nextInt(); 49 sc.close(); 50 System.out.println("對應的漢字大寫:" + change(n)); 51 } 52 }
二、運行效果
int類型的整數轉換成漢字