Java question solutions | Computer Science homework help

1.  How does Java support the concept of encapsulation?



2.  Describe the difference between an object and a class.



3.  What is the difference between the contents of a Java variable

    of a primitive type and a Java variable of a class type?



4.  (a) How is a ‘static’ class method different from a regular

    (non-static) class method?


    (b) How is a ‘static’ variable in a class different from a

    regular (instance) variable in a class?



5.  What does the Java keyword ‘this’ refer to?



6.  What does the Java ‘new’ operator do?   



7.  When does a class require an ‘equals’ method to be written?



8.  What is method “overriding”?  Why would you override a method?



9.  What advantages does inheritance provide in Java?



10. What is dynamic binding? What advantage does it provide?



11. How is it possible for two String objects with identical values

    not to be equal when compared with the == operator?



12. Why can a class variable of a base type be set to reference an

    object of a derived type, eg:


    Shape s = new Circle(“Blue”, 1.0);



13. How can the methods of a derived class access private instance

    variables of its base class?



14. The following try/catch has code to explicitly handle any

    IllegalArgumentException thrown. Show the modified code that

    will also catch any other type of exception that could be thrown

    by code called within the try block.




      … methods called here …



    catch (IllegalArgumentException e)


      … code to handle IllegalArgumentException …




15. How is the caller’s flow of control (sequence of statement

    execution) different when an exception is thrown from a method

    that it calls, vs. when the method returns normally?





The following questions are 20 points each. Paste your source code

below each question, and example input and output. Do not include

the code required to test the methods, etc.



P1. Write a static method that checks if a String represents a valid

    integer value and returns true if valid, or false if not.  For

    example, “123”, “-45”, and “0” are valid integers, but “x7” and

    “3.14” are not. Use java.lang.Integer.parseInt() to perform the

    actual validity checking inside your method. Your method should

    also return false if the parameter String is null or empty.

    It should NOT throw any exceptions back to the caller (but may

    use exceptions internally).


    Use the following prototype for your method:


      public static boolean isValidInt(String testIntval)


    Show example output for the following values entered:






    “”  (length 0 string)

    null (pass a Java null reference in a hardcoded call to isValidInt)




P2. Write a Java method that returns the largest value passed to it.

    Use the following prototype:


    public static int max(int val1, int val2, int val3) {

      // return the largest of the three values…



    For example, the following call of your method sets ‘n’ to 30:


    int n = max(20, 30, 10);


    Note that any three values can be passed to this method.

    The following would also set ‘n’ to 30:


    int n = max(30, 30, 10);


    Write a main() method to test your max method.  It should input

    three values, call your max method, and then print the three

    values and returned max value as output, eg:


    Input values: 30 20 10  – max value is 30


    The max() method cannot read any input values, nor print any

    output values.  All input and printing is done by the main()

    method that calls max().


    Paste in both your source code for your max() method, and

    the runtime output showing the parameter values and returned

    maximum value for the following sample input values:


    a) 30, 30, 30

    b) 10, -10, 20

    c) 40, 60, 50

    d) 90, 70, 80

    e) 50, 50, 25

    f) 50, 50, 75

    g) 200, 100, 200

    h) 200, 400, 200

    i) 300, 500, 500

    j) 700, 500, 500