毕业论文开发语言企业开发JAVA技术.NET技术WEB开发Linux/Unix数据库技术Windows平台移动平台嵌入式论文范文英语论文
您现在的位置: 毕业论文 >> java技术 >> 正文

java金额转换优化源代码

更新时间:2012-12-20:  来源:毕业论文

java金额转换优化源代码
这是我写的代码,只能转换为万元以下,比如我把101000001010   转换为   壹仟零壹拾億零壹仟零壹拾圆整。
还不行,求大神优化一下
import java.util.Scanner;
import java.util.TreeMap;

public class TenTest {
public static void main(String[] args) {

Scanner sc = new Scanner(System.in);
System.out.println("请输入你转换的数字:");
String input = null;
do {
input = sc.next();
System.out.println("对不起,你输入的不是数字,请重新输入:");
} while (!isValid(input));
// 将String数字变成int数组
int[] num = new int[input.length()];
for (int i = 0; i < num.length; i++) {
num[i] = Integer.parseInt(String.valueOf(input.charAt(i)));
}

moneyTransMethod(num);
}

public static void moneyTransMethod(int[] num) {
String[] str1 = { "零", "壹", "贰", "叁", "肆", "伍", "陆", "柒", "玐", "玖" };
String[] str2 = { "拾", "佰", "仟", "万", "亿" };
final String zheng = "整";

TreeMap<Integer, String> map1 = new TreeMap<Integer, String>();
TreeMap<Integer, String> map2 = new TreeMap<Integer, String>();
// 将str1的元素与数字一一对应
for (int i = 0; i < str1.length; i++) {
map1.put(i, str1[i]);
}
// 将str2的元素与数字一一对应
for (int i = 0; i < str2.length; i++) {
map2.put(i, str2[i]);
}
StringBuilder sb = new StringBuilder();
int len = num.length;
for (int i = 0; i < num.length; i++) {
if (num.length != 1 && num.length < 6) {
String strVal = map2.get(len - 2 - i);
sb.append(map1.get(num[i])).append(strVal);// ?
if (strVal == null) {
sb.delete(sb.lastIndexOf("n"), sb.lastIndexOf("l") + 1);
}
} else if (num.length == 1) {
sb.append(map1.get(num[i]));
}
}
System.out.println(sb.toString());
}

public static boolean isValid(String input) {
String regix = "[0-9]+";

return input.matches(regix);
}
}

[1] [2] [3] 下一页

设为首页 | 联系站长 | 友情链接 | 网站地图 |

copyright©youerw.com 优尔论文网 严禁转载
如果本毕业论文网损害了您的利益或者侵犯了您的权利,请及时联系,我们一定会及时改正。