即日起在codingBlog上分享您的技术经验即可获得积分,积分可兑换现金哦。

java经常使用与见到题目day4

编程语言 qq_33282031 28℃ 0评论

两个四位数相加,得到的和数中与两个加数中没有重复数字


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

 //通过两个加数拼成的字符串组成的正则去和和数进行替换,如果有重复则长度会减少
        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//将单词转换为小写后放入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);

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

转载请注明:CodingBlog » java经常使用与见到题目day4

喜欢 (0)or分享 (0)
发表我的评论
取消评论

*

表情