SSISO Community

시소당

단어, 공백, 탭의 갯수를 계산하여 출력하는 프로그램

자바프로그램에서
한문장을  입력받아  단어,  공백,  탭의  갯수를  계산하려면..
어떤  클래스를  사용해야  하나요?
예를들어..BufferReader나..StringTokeniger같은...
또  그것들을  어떻게  사용하는지..예라도  들어주심  감사^^
이런  프로그램은  처음짜봐서...
많은  답변  부탁드립니다.

-------------------------------------------------------------------------------------

import  java.io.*;
import  java.util.regex.*;
class  A  {
        public  static  void  main(String[]  args)  throws  Exception  {
                BufferedReader  r  =  new  BufferedReader(new  InputStreamReader(System.in));
                String  s  =  null;
                while  (true)  {
                        System.out.print("문장을  입력하세요(끝내려면  Enter)=>");
                        s  =  r.readLine();
                        if  ("".equals(s))  break;
                        System.out.print("----------------------------------------\n");
                        System.out.print("단어:  "  +  count(s,  "[^\\s]+")  +  "개,  ");
                        System.out.print("공백:  "  +  count(s,  "\u0020")  +  "개,  ");
                        System.out.print("탭    :  "  +  count(s,  "\t")  +  "개\n");
                        System.out.print("----------------------------------------\n");
                }
        }
        static  final  int  count(String  target,  String  pattern)  {
                Pattern  p  =  Pattern.compile(pattern);
                Matcher  matcher  =  p.matcher(target);
                int  c  =  0;
                for  (int  i  =  0;  matcher.find(i);  c++,  i  =  matcher.end());
                return  c;
        }
}

-------------------------

실행  예제:  

문장을  입력하세요(끝내려면  Enter)=>i  am  a  boy
----------------------------------------
단어:  4개,  공백:  3개,  탭    :  0개
----------------------------------------
문장을  입력하세요(끝내려면  Enter)=>가나  다  abc  뒤에탭  탭한번더  마지막
----------------------------------------
단어:  6개,  공백:  3개,  탭    :  2개
----------------------------------------

출처  :  네이버지식인
http://kin.naver.com/detail/detail.php?d1id=1&dir_id=10106
&eid=Y7npOw1FvhZZ+9/z7ukkD+rEc2bdYrTR&qb=wNq52SBtYXRjaGVy

657 view

4.0 stars