نسخة الكود كما يلي:
استيراد java.util.hashmap ؛
استيراد java.util.map ؛
الطبقة العامة figureandchinese2util {
// ذاكرة التخزين المؤقت جميع الأرقام
خريطة ثابتة خاصة <حرف ، حرف> خريطة = هاشماب جديد <حرف ، حرف> (
10) ؛
ثابت {
map.put ('1' ، '1') ؛
map.put ('2' ، '2') ؛
map.put ('3' ، 'ثلاثة') ؛
map.put ('4' ، 'si') ؛
map.put ('5' ، 'wu') ؛
map.put ('6' ، 'lu') ؛
map.put ('7' ، 'qi') ؛
map.put ('8' ، '8') ؛
map.put ('9' ، '9') ؛
map.put ('0' ، 'Zero') ؛
}
char char static [] mode = new char [] {'she' ، 'bai' ، 'qian'} ؛
الفراغ الثابت العام M (سلسلة SB) {
StringBuffer SBF = New StringBuffer () ؛
String [] sp = sb.split ("//.") ؛
if (sp.length == 2) {
M0 (sp [0] ، 0 ، sbf) ؛
sbf.append (M2 (sp [1])) ؛
} آخر
M0 (SB ، 0 ، SBF) ؛
sbf.append ("كاملة") ؛
System.out.println (SBF) ؛
}
/***
* قطع السلسلة
*
* param sb
*/
public static void m0 (سلسلة SB ، نوع int ، stringbuffer sbf) {
int len = sb.length () ؛
int b = 0 ؛
اكتب ++ ؛
if (len> = 4) {
ب = لين - 4 ؛
sbf.insert (0 ، m1 (sb.substring (b) ، type)) ؛
M0 (SB.SubString (0 ، B) ، النوع ، SBF) ؛
} آخر إذا (len> 0)
sbf.insert (0 ، m1 (sb ، type)) ؛
إذا ('صفر' == sbf.charat (0))
sbf.deletecharat (0) ؛
}
/***
* التعامل مع
*
* param sb
*/
Static Static StringBuffer M1 (سلسلة SB ، نوع int) {
StringBuffer SBF = New StringBuffer (SB) ؛
التبديل (اكتب) {
الحالة 1:
sbf.append ("Circle") ؛
استراحة؛
الحالة 2:
sbf.append ("Ten Edhand") ؛
استراحة؛
الحالة 3:
sbf.append ("中") ؛
استراحة؛
تقصير:
استراحة؛
}
// ابدأ المهمة
int b = 0 ؛
char t = 0 ؛
لـ (int i = sbf.length ()-2 ؛ i> = 0 ؛ i--) {
t = sbf.charat (i) ؛
sbf.setcharat (i ، map.get (t)) ؛
إذا (أنا! = 0)
sbf.insert (i ، mode [b]) ؛
B ++ ؛
}
لـ (int i = 0 ؛ i <sbf.length () ؛ i ++) {
t = sbf.charat (i) ؛
if (t == 'Zero') {
t = sbf.charat (i + 1) ؛
if ('Circle'! = t && 'مليون'! = t && 'مليون'! = t)
sbf.deletecharat (i + 1) ؛
آخر
sbf.deletecharat (i) ؛
إذا (أنا! = 0)
if (sbf.charat (i - 1) == 'Zero') {
sbf.delectecharat (i - 1) ؛
أنا--؛
}
}
}
if (sbf.length () == 1) {
إذا ('دائرة'! = sbf.charat (0))
SBF.SetLength (0) ؛
}
إرجاع SBF ؛
}
Static Static Static M2 (String de) {
if (de.length ()> 2)
de = de.substring (0 ، 2) ؛
de = de.replacefirst ("00" ، "") ؛
StringBuffer SB = New StringBuffer (DE) ؛
if (sb.length ()> 0) {
if (sb.charat (sb.length () - 1) == '0')
sb.deletecharat (sb.length () - 1) ؛
SB.Setcharat (0 ، map.get (sb.charat (0))) ؛
التبديل (sb.length ()) {
الحالة 1:
sb.append ("angle") ؛
استراحة؛
الحالة 2:
SB.Setcharat (1 ، map.get (sb.charat (1))) ؛
إذا (sb.charat (0)! = 'صفر')
sb.insert (1 ، 'angle') ؛
SB.Append ("SCORE") ؛
استراحة؛
تقصير:
استراحة؛
}
}
إرجاع SB ؛
}
الفراغ الثابت العام الرئيسي (سلسلة [] args) {
String S = "44444444441.23" ؛
السلسلة S1 = "1" ؛
السلسلة S2 = "1000000000.01" ؛
السلسلة S3 = "101010002.11" ؛
آنسة)؛
م (S1) ؛
م (S2) ؛
م (S3) ؛
}
}