老师留的作业:将小写数字转换成大写且带单位
我的程序
import java.util.Scanner;
import java.util.Arrays;
class Zi{
public static void main(String[] args) {
char[] zi = {'零','壹','贰','叁','肆','伍','陆','柒','捌','玖'};
char[] level = {' ','拾','百','千','万','拾','百','千','亿','拾','百','千'};
Scanner sc = new Scanner(System.in);
System.out.println("#");
String hanzi = sc.next();
char[] a = hanzi.toCharArray();
int[] m = new int[a.length];
char[] n = new char[2*(a.length)];
for(int i = 0; i < a.length; i++){
m[i] = a[i] - '0';
}
for(int i = 0; i < 2 *(a.length); i += 2){
n[i] = zi[m[i]];
n[i + 1] = level[a.length - i] ;
}
String output = new String(n);
System.out.println(output);
}
}
程序可以编译
但运行就会出错 像这样:
d:\code\0331>javac -encoding utf8 Zi.java
d:\code\0331>java Zi
#
112234
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 6
at Zi.main(Zi.java:22)
求大神解答 感激不敬