Question: Class Work 5 : Object - Oriented Design Exercises Topics Exercises Parameter Passing - Changing People Changing People The file ChangingPeople.java contains a program that

Class Work 5: Object-Oriented Design Exercises
Topics Exercises
Parameter Passing - Changing People
Changing People
The file ChangingPeople.java contains a program that illustrates parameter passing. The program uses Person objects defined in the file Person.java. Do the following:
1. Trace the execution of the program. Also show what is printed by the program.
2. Compile and run the program to see if your trace was correct.
3. Modify the changePeople method so that it does what the documentation says it does, that is, the two Person objects passed in as actual parameters are actually changed.
//*****************************************************************
// ChangingPeople.java
//
// Demonstrates parameter passing -- contains a method that should
// change to Person objects.
//******************************************************************
public class ChangingPeople
{
//---------------------------------------------------------
// Sets up two person objects, one integer, and one String
// object. These are sent to a method that should make
// some changes.
//---------------------------------------------------------
public static void main (String[] args)
{
Person person1= new Person ("Sally",13);
Person person2= new Person ("Sam",15);
int age =21;
String name = "Jill";
System.out.println ("
Parameter Passing... Original values...");
System.out.println ("person1: "+ person1);
System.out.println ("person2: "+ person2);
System.out.println ("age: "+ age +"\tname: "+ name +"
");
changePeople (person1, person2, age, name);
System.out.println ("
Values after calling changePeople...");
System.out.println ("person1: "+ person1);
System.out.println ("person2: "+ person2);
System.out.println ("age: "+ age +"\tname: "+ name +"
");
}
//-------------------------------------------------------------------
// Change the first actual parameter to "Jack - Age 101" and change
// the second actual parameter to be a person with the age and
// name given in the third and fourth parameters.
//-------------------------------------------------------------------
public static void changePeople (Person p1, Person p2, int age, String name)
{
System.out.println ("
Inside changePeople... Original parameters...");
System.out.println ("person1: "+ p1);
System.out.println ("person2: "+ p2);
System.out.println ("age: "+ age +"\tname: "+ name +"
");
// Make changes
Person p3= new Person (name, age);
p2= p3;
name = "Jack";
age =101;
p1.changeName (name);
p1.changeAge (age);
// Print changes
System.out.println ("
Inside changePeople... Changed values...");
System.out.println ("person1: "+ p1);
System.out.println ("person2: "+ p2);
System.out.println ("age: "+ age +"\tname: "+ name +"
");
}
}
//************************************************************
// Person.java
//
// A simple class representing a person.
//************************************************************
public class Person
{
private String name;
private int age;
//----------------------------------------------------------
// Sets up a Person object with the given name and age.
//----------------------------------------------------------
public Person (String name, int age)
{
this.name = name;
this.age = age;
}
//----------------------------------------------------------
// Changes the name of the Person to the parameter newName.
//----------------------------------------------------------
public void changeName(String newName)
{
name = newName;
}
//----------------------------------------------------------
// Changes the age of the Person to the parameter newAge.
//----------------------------------------------------------
public void changeAge (int newAge)
{
age = newAge;
<

Step by Step Solution

There are 3 Steps involved in it

1 Expert Approved Answer
Step: 1 Unlock blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Programming Questions!