疯狂Java练习题 将浮点数转换成人民币读法字符串
2013-11-13 22:10
387 查看
这题有个问题求大神(如果看到的话)解答,可以编译成功,但运行时报出异常
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException:0 at Num2Rmb.main
import java.io.*; /** * Description: * <br/>Program Name:将浮点数转换成人民币读法字符串 * <br/>Date:2013/11/13 * @author Peter Pan * @version 1.0 */ public class Num2Rmb { private String [] hanArr = {"零" , "壹" , "贰" , "叁" , "肆" , "伍" , "陆" , "柒" , "捌" , "玖"}; //如果需要输入大于六位则需要在unitArr后继续加“百万”等 private String [] unitArr = {"分" , "角" , "元" , "十" , "百" , "千" , "万" , "拾万"}; /** * 把一个小于六位的数字字符串变成汉字字符串 * @param s1,s2 需要被转换的数字字符串 * @return 数字字符串被转换成的汉字字符串。 */ private String tohanStr(String s1, String s2) { String result = ""; //依次遍历整数位数字字符串的每一位数字 for(int i = 0; i < s1.length() && s1 != null; i++) { //把char型数字转换成的int型数字,因为它们的ASCII码值恰好相差48 //因此把char型数字减去48得到int型数字 int choice = s1.charAt(i) - 48; result += hanArr[choice] + unitArr[2 + s1.length() -i]; } //依次遍历小数位数字字符串的每一位数字 for(int j = 0; j < s2.length() && s2 != null; j++) { int choice = s2.charAt(j) - 48; result += hanArr[choice] + unitArr[2 - s2.length()-j]; } return result; } public static void main(String[] args) throws IOException { System.out.println("请输入需要转换的数字(小数点最多两位):"); BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); String str = br.readLine(); System.out.println(str); // 把一个浮点数分解成整数部分和小数部分字符串 String [] postr = str.split("."); String head = postr[0]; String tail = postr[1]; Num2Rmb n2b; n2b = new Num2Rmb(); System.out.println("转换后的结果为:" + n2b.tohanStr(head, tail)); br.close(); } }
相关文章推荐
- 将一个浮点数转换成人民币读法字符串(java)
- 用java编写一个程序,将浮点数转换成人民币读法字符串
- 实现浮点数转换成人民币读法字符串(Java)
- 疯狂java讲义4.2--浮点数转换成人民币读法
- 将浮点数转换成人民币读法字符串(JAVA)
- 将一个浮点数转换成人民币读法字符串(java)
- 将一个浮点数转换成人民币读法字符串(java)
- Java实现浮点数转换成人民币读法字符串
- 将浮点数转换成人民币读法字符串(整数部分在12位以内)
- 浮点数转换成人民币读法字符串
- Java小程序——将浮点数转换成人民币读法
- 输入一个浮点数,打印出相对应的人民币读法的字符串,如:1605.22转换后为:壹仟陆佰零伍元贰角贰分
- JavaSE014_数组之应用举例(实现浮点数转换成人民币读法字符串)
- java程序---将一个浮点数转换成人民币读法
- 疯狂java讲义 第四章 01人民币的转换读法小程序
- 疯狂java讲义 第四章 01人民币的转换读法小程序
- 浮点数转换成人民币读法字符串
- 将浮点数转换成人民币读法字符串
- 对Java字符串与整形、浮点类型之间的相互转换方法总结
- 疯狂JAVA习题 数字转换成人民币