Run the following code and answer these 5 questions 1 Bowler

Run the following code and answer these 5 questions:

1. Bowler Name: Harry Merser Highest Score: 235.0 is different from
    Bowler Name: Harry Merser Highest Score: 235.0 why??

2. Bowler Name: Harry Merser Highest Score: 235.0 is now the same as
    Bowler Name: Harry Merser Highest Score: 235.0 why the change??

3. After changing b1\'s score
    b1\'s state is: Bowler Name: Harry Merser Highest Score: 99.0
    b2\'s state is: Bowler Name: Harry Merser Highest Score: 99.0
    explain what happened

4. Bowler Name: Harry Merser Highest Score: 235.0 is different from
    Bowler Name: Harry Merser Highest Score: 235.0 why??

5. Bowler Name: Harry Merser Highest Score: 235.0 is now the same as
    Bowler Name: Harry Merser Highest Score: 235.0 why the change??

6. After changing b1\'s score
    b1\'s state is: Bowler Name: Harry Merser Highest Score: 99.0
    b2\'s state is: Bowler Name: Harry Merser Highest Score: 99.0
    explain what happened

/**

* This is a simple class that will be
* used to illustrate the need for an equals( )
*method, a compareTo( ) method and a copy contructor.

*

* @author Bobby

* @version v1

*/

public class Bowler

{

   private String name; //the full name of a bowler

   private double highScore; //the highest score the bowler has obtained

   /** No args constructor

    * Create a Bolwler object and sets the name field to the

    * string \"unknown\" and

    * the high score of this object to 0.

    */

   public Bowler( )

   {

       name = new String(\"unknown\");

       highScore = 0;

    }  

    /** Constructs a Bowler object using the values

     * of the arguments.

     * @param String a name for the Bowler

     * @param a high score for the Bowler. If the

     * argument sent in is less than zero, the field is set to zero.

     */

    public Bowler(String pName, double pHighScore)

    {

        this.name = new String(pName);

        if(pHighScore < 0)

          this.highScore = 0;

        else

             this.highScore = pHighScore;

    }

    /**

     * Sets the Bowler\'s name field to the String argument.

     * @param a new value for the Bolwer\'s name

     */

    public void setName(String pName)

    {

        name = new String(pName);

    }

    /**

     * Set\'s the Bolwer object\'s high score field to the

     * argument.

     * @param the high score field is set to the argument.

     * If the argument\'s value is less than zero, the value of the field

     * remains unchanged.

     *

     */

    public void setHighScore(double pHighScore)

    {

        if(pHighScore >= 0)

          this.highScore = pHighScore;

    }

    /**

     * This method returns the the name of the Bowler

     * @return a reference to a String object that holds the Bowler\'s name.

     */

    public String getName( )

    {

        return name;

    }

    /**

     * This method returns the value of the Bowler\'s high score.
     * @return returns the value of the highSocre field.

     */

    public double getHighScore( )

    {

        return highScore;

    }

    /**

     * Returns the textual representation of a Bowler object.
     * @return a reference to a String that concatinates the Bolwer\'s
     * name and high socre field values.

     */

    public String toString( )

    {

        return \"Bowler Name: \" + this.name + \" Highest Score: \" + highScore;

   }    

}

===============================================DRIVER===================================================

/**

* This ia a driver to illustrate the need for some

* special methods.

* @author Bobby

* @version v1

*/

public class BowlerDriver

{

   public static void main(String [ ] args)

   {

       Bowler b1; //declare a reference variable for a Bolwer object

       Bowler b2; //declare a reference variable for a Bowler object

       b1 = new Bowler(\"Harry Merser\", 235);//create a Bowler

       b2 = new Bowler(\"Harry Merser\", 235);//create a Bowler

       if(b1 == b2) //use the == operator to test equality

       {

           System.out.println(b1.toString( ) + \" is the same as \ \" +

                              b2.toString( )+ \" why??\");

       }

       else

       {

           System.out.println(b1.toString( ) + \" is different from\ \" +

                              b2.toString( ) + \" why??\" );

       }

      //assign b1 to b2

      b1 = b2;

      if(b1 == b2)

       {

           System.out.println(\"\ \" + b1.toString( ) + \" is now the same as \ \" +

                              b2.toString( ) + \" why the change??\");

       }

       else

       {

           System.out.println(b1.toString( ) + \" is different from\ \" +

                              b2.toString( ) + \" why??\" );

       }

       //change the b1 high score field to 99

       b1.setHighScore(99);

       //print the state of each Bowler

       System.out.println(\"\ After changing b1\'s score\ b1\'s state is: \"

                          + b1.toString( ) +

                         \"\ b2\'s state is: \" + b2.toString( ) +

                         \"\ explain what happened\");

    }

}

Solution

1. Bowler Name: Harry Merser Highest Score: 235.0 is different from
    Bowler Name: Harry Merser Highest Score: 235.0 why??

2. Bowler Name: Harry Merser Highest Score: 235.0 is now the same as
    Bowler Name: Harry Merser Highest Score: 235.0 why the change??

3. After changing b1\'s score
    b1\'s state is: Bowler Name: Harry Merser Highest Score: 99.0
    b2\'s state is: Bowler Name: Harry Merser Highest Score: 99.0
    explain what happened

--> In the first question Bowler b1 is not equal to b2 because both the objects have different references with them although the data in both the objects is same.

--> In the second question Bowler b1 is equal to b2 bacause b2\'s reference was assigned to b1 which means that both the objects have same reference now.

--> In the third question when we change the data of b1 the data of b2 automatically changes this is because the reference of both the objects is same.


4. Bowler Name: Harry Merser Highest Score: 235.0 is different from
    Bowler Name: Harry Merser Highest Score: 235.0 why??

5. Bowler Name: Harry Merser Highest Score: 235.0 is now the same as
    Bowler Name: Harry Merser Highest Score: 235.0 why the change??

6. After changing b1\'s score
    b1\'s state is: Bowler Name: Harry Merser Highest Score: 99.0
    b2\'s state is: Bowler Name: Harry Merser Highest Score: 99.0
    explain what happened

--> The answers of question 4,5,6 os same as the question 1,2,3 respectively.

Run the following code and answer these 5 questions: 1. Bowler Name: Harry Merser Highest Score: 235.0 is different from Bowler Name: Harry Merser Highest Score
Run the following code and answer these 5 questions: 1. Bowler Name: Harry Merser Highest Score: 235.0 is different from Bowler Name: Harry Merser Highest Score
Run the following code and answer these 5 questions: 1. Bowler Name: Harry Merser Highest Score: 235.0 is different from Bowler Name: Harry Merser Highest Score
Run the following code and answer these 5 questions: 1. Bowler Name: Harry Merser Highest Score: 235.0 is different from Bowler Name: Harry Merser Highest Score
Run the following code and answer these 5 questions: 1. Bowler Name: Harry Merser Highest Score: 235.0 is different from Bowler Name: Harry Merser Highest Score

Get Help Now

Submit a Take Down Notice

Tutor
Tutor: Dr Jack
Most rated tutor on our site