从网页上输入一个字符串其中包含阿拉伯数字比如(1,2,3)和中文数字(比如“二”,“四”,“八”)以及特别的数字比如(“④”,“⑥”,“②”)请将这个字符串统一替换成阿拉伯数字,忽略中间的空格,全角和半角符号如逗号“,”,“,”,点号等等,斜线等,返回到结果页面上。 例如:1390 二四⑧,⑦9三零替换成:13902487930

解决方案 »

  1.   

    public class Test { //1390 二四⑧,⑦9三零
    static String DAXIE = "一二三四五六七八九十" ;
    static String QIUAN = "...⑦⑧" ;

    public static void main(String args[]) {
       //比如以
    String str = "1390 二四⑧,⑦9三零" ;
    for (int i=0;i<str.length();i++) {
    char ch = str.charAt(i) ;
    //先看是不是在大写里
    if (getDAXIE(ch) != 0){
    //把当的位置替换
    System.out.println(getDAXIE(ch)) ;
    }
    }
    }

    public static int getDAXIE(char ch) {
    for(int i=0;i<DAXIE.length();i++) {
    if (DAXIE.charAt(i) == ch) {
    return i + 1 ;
    }
    }
    return 0 ;
    }
    }
    剩下的自己写吧
      

  2.   

    谢谢楼上提供思路但是有没有去除中间的空格,全角和半角符号如逗号“,”,“,”,点号等等,斜线等的办法勒。
    我的办法是,把数据存入list中,然后if(list.equals("")||list.equals(","))进行判断,通过
    list.remove()方法来去除,不过效果不好,希望再提供一个好方法,谢谢
      

  3.   

    两个办法:
    一:使用正则表达式。
    二:将用户输入字符串挨个转换成字符型,然后再把每个字符型数据强制转换成 int 型。通过判断其大小,输出符合条件的数字。