Homework #4 Solution

(10  points)    Read    chapter    14    of    Big    Java    5th    Edition    and    provide    short    answers    to    the    following    questions.       Submit    your    answers    in    a    text    document    (plain    text    or    Microsoft    Word    format,    please).    

 

a.    (2  points)    In    the    SelectionSorter's    minimumPosition(int    from)    method,    why    does    the    for    

loop  start    with    "i    =   from    +    1"    instead    of    "i    =    0"?    

 

b.    (4  points)    Assume    a    LinearSearcher    object    named    "searchMe"    has    been    created    with    an    array    of    10    elements    containing    the    numbers    1    though    10    in    order.       In    the    LinearSearcher's    search(int    v)    method,    how    many    elements    in    the    array    have    to    be    compared    when    "searchMe.search(11)"    is    called?       Briefly    explain    why.    

 

c.     (4  points)    Assume    a    BinarySearcher    object    named    "searchMe"    has    been    created    with    an    array    of    10    elements    containing    the    numbers    1    through    10    in    order.       In    the    BinarySearcher's    search(int    v)    method,    how    many    elements    in    the    array    have    to    be    compared    when    "searchMe.search(11)"    is    called?       Show    each    of    the    numbers    in    BinarySearcher's    array    "a"    that    are    compared    to    the    value    11    in    each    step    into    the    search()    method.

 

2.   (20  points)    Write    a    program    to    satisfy    the    following    programming    problem:

 

a.      P14.3    

Write  a    telephone    lookup    program.    Read    a    data    set    of    up    to    1,000    names    and    telephone    numbers    from    a    file    that    contains    the    names    &    their    numbers    in    random    order.    Handle    lookups    by    name    and    also    reverse    lookups    by    phone    number.    Names    and    numbers    should    be    exact    matches    (for    example,    don't    worry    about    finding    all    names    containing    "Jones").    Use    the    supplied    PhoneLookup.java    class    as    your    main    class.       Modify    the    supplied    LookupTable.java    class    to    read    the    input    file    and    perform    the    searches.       Use    the    supplied    directory.txt    file    as    your    input    file.       The    directory.txt    file    has    the    format:    

 

Abbott, Amy

408-924-1669

Abeyta, Ric

408-924-2185

Abrams, Arthur

408-924-6120

Abriam-Yago, Kathy

408-924-3159

Accardo, Dan

408-924-2236

Acevedo, Elvira

408-924-5200

Acevedo, Gloria

Achtenhagen, Stephen

408-924-3522

. . .

Please    submit    your    assignment    to    ISU    BlackBoard.      Attach    the    text    document    for    question    1    and    the    Java    

source  files    (PhoneLookup.java,    LookupTable.java,    and    Items.java)    for    question    2    to    your    assignment.        

Be    sure    to    click    the    "Submit"    button    after    you    attach    the    files    to    your    submission!
sellfy