Page 10 -
P. 10

자바 라이브러리 사용 등록(37페이지 참조)
                         import java.util.Arrays;
                                                   코드는 반드시 BinarySearch.java 파일에 있어야 함(36페이지 참조)
                         public class BinarySearch   파라미터 변수
                         {                                      static 메서드(33페이지 참조)
                            public static int rank(int key, int[] a)
                            {              리턴 타입   파라미터 타입
                  변수 초기화      int lo = 0;
                  선언문          int hi = a.length - 1;
                  (28페이지 참조)
                               while (lo <= hi)
                               {              표현식(24페이지 참조)
                                  int mid = lo + (hi - lo) / 2;
                                  if      (key < a[mid]) hi = mid - 1;
                  반복문
                  (28페이지 참조)          else if (key > a[mid]) lo = mid + 1;
                                  else                   return mid;
                               }
                               return -1;
                            }            리턴 구문


                                          시스템 호출 main( )
                                                          단위 테스트 클라이언트(37페이지 참조)
                            public static void main(String[] args)
                            {
                                 리턴 값 없음, 작업만 수행(35페이지 참조)
                               In in = new In(args[0]);  객체 생성(74페이지 참조)
                                 int[] whitelist = in.readAllInts();  인스턴스 메서드 호출
                                                                (75페이지 참조)
                               Arrays.sort(whitelist);  자바 라이브러리의 static 메서드(37페이지 참조)

                               while (!StdIn.isEmpty())
                                                       이 책의 표준 라이브러리의 static 메서드 호출
                               {                       코드 다운로드 필요(37페이지 참조)
                                  int key = StdIn.readInt();
                  조건문             if (rank(key, whitelist) = = -1)  로컬 메서드 호출(37페이지 참조)
                  (27페이지 참조)             StdOut.println(key);
                               }
                            }


                         }                                시스템에서 인수값
                                                          "largeW.txt"을 main()으로 전달
                  명령어
                  (45페이지 참조)               파일명(args[0])
                            % java BinarySearch largeW.txt < largeT.txt
                  StdOut    499569
                  (45페이지 참조)  984875          StdIn에서 파일 리디렉션(49페이지 참조)
                            ...



                                                         그림 1-2 자바 프로그램의 구조와 명령어 실행 방법




               022
   5   6   7   8   9   10   11   12   13   14   15