importjava.util.ArrayList;importjava.util.List;publicclassDirectMemoryOOM{privatestaticString hanDigiStr[]=newString[]{"零","壹","贰","叁","肆","伍","陆","柒","捌","玖"};privatestaticString hanDiviStr[]=newString[]{"","拾","佰","仟","万","拾","佰","仟","亿","拾","佰","仟","万","拾","佰","仟","亿","拾","佰","仟","万","拾","佰","仟"};publicstaticvoidmain(String[] args)throwsException{int val =20405;handlerValue(val);}privatestaticvoidhandlerValue(int val){List<Integer> list =newArrayList<>();while(val!=0){
list.add(val%10);
val/=10;}String res ="";int j;for(int i = list.size()-1; i >=0; i--){Integer num = list.get(i);if(num!=0){
res+= hanDigiStr[num]+hanDiviStr[i];}else{
j=i;while(j>=0){if(list.get(j)==num){
j--;continue;}break;}if(j==-1)break;
res+=hanDigiStr[num];
i=j+1;}}System.out.println(res);}}