夢想飛翔

          自強不息
          posts - 111, comments - 30, trackbacks - 0, articles - 0
            BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理
          148 將一個鍵盤輸入的數字轉化成中文輸出
          (例如:輸入:1234567?????輸出:一百二拾三萬四千五百六拾七)
          java語言實現,,請編一段程序實現!
          ?public?class?Reader?{
          ??private?String?strNum;
          ??private?String?strNumChFormat;
          ??private?String?strNumTemp;
          ??private?int?intNumLen;
          ??private?String?strBegin;
          ??public?Reader(String?strNum)?{
          ????this.strNum?=?strNum;
          ??}
          ??public?boolean?check(String?strNum)?{
          ????boolean?valid?=?false;
          ????
          ????if?(strNum.substring(0,1).equals("0")){
          ?????this.strNum?=?strNum.substring(1);
          ????}
          ????try?{
          ??????new?Double(strNum);
          ??????valid?=?true;
          ????}
          ????catch?(NumberFormatException?ex)?{
          ??????System.out.println("Bad?number?format!");
          ????}
          ????return?valid;
          ??}
          ??public?void?init()?{
          ????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);
          ??}
          ??public?String?readNum()?{
          ????if?(check(strNum))?{
          ??????init();
          ??????try?{
          ????????for?(int?i?=?1,?j?=?1,?k?=?1;?i?<?intNumLen;?i++)?{
          ??????????if?(strNumTemp.charAt(intNumLen?-?1)?==?''?&&?i?==?1)?{
          ????????????strNumChFormat?=?"";
          ??????????}
          ??????????else?if?(strNumTemp.charAt(intNumLen?-?i)?==?''?&&?j?==?1)?{
          ????????????strNumChFormat?=?""?+?strNumChFormat;
          ??????????}
          ??????????else?if?(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?<?intNumLen)?{
          ??????????????strNumChFormat?=?''?+?strNumChFormat;
          ????????????}
          ????????????else?if?(j?==?2?&&?i?<?intNumLen)?{
          ??????????????strNumChFormat?=?''?+?strNumChFormat;
          ????????????}
          ????????????else?if?(j?==?3?&&?i?<?intNumLen)?{
          ??????????????strNumChFormat?=?''?+?strNumChFormat;
          ????????????}
          ??????????}
          ??????????if?(j?==?4?&&?i?<?intNumLen)?{
          ????????????j?=?0;
          ??????????}
          ??????????if?(k?==?4?&&?i?<?intNumLen)?{
          ????????????strNumChFormat?=?''?+?strNumChFormat;
          ??????????}
          ??????????else?if?(k?==?8?&&?i?<?intNumLen)?{
          ????????????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?(int?i?=?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();
          ??????}
          ??????int?off?=?strNumChFormat.indexOf("");
          ??????strNumChFormat?=?strBegin?+?strNumChFormat.substring(0);
          ????}
          ????else?{
          ??????strNumChFormat?=?"";
          ????}
          ????return?strNumChFormat;
          ??}
          ??public?static?void?main(String?args[])?{
          ????try?{
          ??????String?number?=?args[0].toString();
          ??????System.out.println("The?number?is:?"?+?number);
          ??????Reader?reader?=?new?Reader(number);
          ??????System.out.println("Output?String:?"?+?reader.readNum());
          ????}
          ????catch?(Exception?ex)?{
          ??????System.out.println("Please?input?like?that:?javac?Reader?<number>");
          ????}
          ??}
          }

          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          主站蜘蛛池模板: 太谷县| 湖南省| 山阴县| 津市市| 巴里| 桑植县| 湘潭市| 永登县| 阿拉善盟| 湾仔区| 嫩江县| 拉萨市| 临汾市| 忻州市| 通榆县| 白山市| 法库县| 永安市| 武川县| 高雄市| 子洲县| 浮山县| 和平区| 元阳县| 乡城县| 新余市| 临潭县| 江口县| 郯城县| 温宿县| 仁寿县| 泉州市| 临潭县| 灌云县| 丹寨县| 高雄县| 南昌县| 新化县| 南部县| 精河县| 高清|