java常见题目day4

来源:互联网 发布:开淘宝网店的流程图片 编辑:程序博客网 时间:2024/05/17 01:57

两个四位数相加,得到的和数中与两个加数中没有重复数字
使用加数的相接成的字符串组委正则将和数中相同部分替换为空,判断长度检查是否有重复

 //通过两个加数拼成的字符串组成的正则去和和数进行替换,如果有重复则长度会减少        public static boolean regIsNotRepeat(long n1,long n2){            //求两数字和并转换为字符串            String s = String.valueOf(n2+n1);            //n1+n2组成的字符组成正则的规则            if(s.replaceAll("(["+n1+n2+"])", "").length()-s.length()==0)                return true;            return false;                       }

统计读取文件中的不重复单词数,单词以空格隔开
这里使用java.util中的set作为辅助,set中的元素是不可重复的,将读取的字符串处理后add到set里面,最终set的大小即为不重复单词总数

 public static void countWords(File f) throws IOException{            try {                Set set = new HashSet();                String s = "";                String[] s2 = null;                BufferedReader br  = new BufferedReader(new InputStreamReader(new FileInputStream(f)));                while(!(s=br.readLine()).equals("#")){                    //用空格拆分字符串                    s2 = s.split(" ");                    for(int i=0,size=s2.length;i<size;i++){                        //将单词转换为小写后放入set                        set.add(s2[i].toLowerCase());                    }                }                //set的大小即为不重复单词数量                System.out.println(set.size());            } catch (FileNotFoundException e) {                e.printStackTrace();            }        }

main函数中

File f = new File("src/week/word.txt");countWords(f);

感觉正则替换对字符串的操作真的是非常的方便啊。。。。

原创粉丝点击