java 涂鸦_面试题 - JAVA涂鸦 - BlogJava

publicclassReader {privateString strNum;privateString strNumChFormat;privateString strNumTemp;privateintintNumLen;privateString strBegin;publicReader(String strNum) {this.strNum=strNum;

}publicbooleancheck(String strNum) {booleanvalid=false;if(strNum.substring(0,1).equals("0")){this.strNum=strNum.substring(1);

}try{newDouble(strNum);

valid=true;

}catch(NumberFormatException ex) {

System.out.println("Bad number format!");

}returnvalid;

}publicvoidinit() {

strNumChFormat="";

intNumLen=strNum.length();

strNumTemp=strNum;

strNumTemp=strNumTemp.replace('1','一');

strNumTemp=strNumTemp.replace('2','二');

strNumTemp=strNumTemp.replace('3','三');

strNumTemp=strNumTemp.replace('4','四');

strNumTemp=strNumTemp.replace('5','五');

strNumTemp=strNumTemp.replace('6','六');

strNumTemp=strNumTemp.replace('7','七');

strNumTemp=strNumTemp.replace('8','八');

strNumTemp=strNumTemp.replace('9','九');

strNumTemp=strNumTemp.replace('0','零');

strNumTemp=strNumTemp.replace('.','点');

strBegin=strNumTemp.substring(0,1);

}publicString readNum() {if(check(strNum)) {

init();try{for(inti=1, j=1, k=1; i

strNumChFormat="位";

}elseif(strNumTemp.charAt(intNumLen-i)=='零'&&j==1) {

strNumChFormat="位"+strNumChFormat;

}elseif(strNumTemp.charAt(intNumLen-i)=='点') {

j=1;

k=1;

strNumChFormat=strNumTemp.charAt(intNumLen-i)+strNumChFormat;continue;

}else{

strNumChFormat=strNumTemp.charAt(intNumLen-i)+strNumChFormat;

}if(strNumTemp.charAt(intNumLen-i-1)!='位'&&strNumTemp.charAt(intNumLen-i-1)!='零') {if(j==1&&i

strNumChFormat='拾'+strNumChFormat;

}elseif(j==2&&i

strNumChFormat='百'+strNumChFormat;

}elseif(j==3&&i

strNumChFormat='千'+strNumChFormat;

}

}if(j==4&&i

j=0;

}if(k==4&&i

strNumChFormat='万'+strNumChFormat;

}elseif(k==8&&i

k=0;

strNumChFormat='亿'+strNumChFormat;

}

j++;

k++;

}while(strNumChFormat.indexOf("位")!=-1) {

strNumChFormat=strNumChFormat.replaceAll("位","");

}if(strNumChFormat.substring(0,2)=="一拾") {

strNumChFormat=strNumChFormat.substring(1, strNumChFormat.length());

}if(strNumChFormat.indexOf("点")>=0) {

String rebegin=strNumChFormat.substring(0,

strNumChFormat.indexOf("点"));

String relast=strNumChFormat.substring(strNumChFormat.indexOf("点"),

strNumChFormat.length());for(inti=1; i<=relast.length(); i++) {

relast=relast.replaceAll("拾","");

relast=relast.replaceAll("百","");

relast=relast.replaceAll("千","");

relast=relast.replaceAll("万","");

relast=relast.replaceAll("亿","");

}

strNumChFormat=rebegin+relast;

}

}catch(ArrayIndexOutOfBoundsException ex) {

ex.printStackTrace();

}catch(Exception ex) {

ex.printStackTrace();

}intoff=strNumChFormat.indexOf("点");

strNumChFormat=strBegin+strNumChFormat.substring(0);

}else{

strNumChFormat="";

}returnstrNumChFormat;

}publicstaticvoidmain(String args[]) {try{

String number=args[0].toString();

System.out.println("The number is:"+number);

Reader reader=newReader(number);

System.out.println("Output String:"+reader.readNum());

}catch(Exception ex) {

System.out.println("Please input like that: javac Reader ");

}

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值