943,851 Members | Top Members by Rank

Ad:
  • Java Discussion Thread
  • Unsolved
  • Views: 1325
  • Java RSS
Nov 3rd, 2008
0

Iterating through a collection

Expand Post »
Hi, can someone help me modify this code to achieve the following:
Add methods to your Human that return collections of arms and legs. implement these methods by iterating through the collection of limbs and checking what type of limb they are. Note that you will need to use the instanceOf keyword.
Java Syntax (Toggle Plain Text)
  1. import java.util.*;
  2. public abstract class Human extends Mammal
  3. {
  4. int MyAge,Age;
  5. String mrating;
  6.  
  7. Arms[] arms = new Arms[2];
  8. Leg[] legs = new Leg[2];
  9.  
  10. void walk()
  11. {
  12. legs[0].move("Right Leg");
  13. legs[1].move("Left Leg");
  14. }
  15.  
  16. void swim()
  17. {
  18. arms[0].move("Right hand");
  19. arms[1].move("Left hand");
  20.  
  21. }
  22.  
  23. // default constructor
  24. public Human(String name)
  25. {
  26. super(name);
  27. gender = 'M'; // the default is M for Male
  28. }
  29. @Override
  30. public void makeSound()
  31. {
  32. System.out.print(name+" Oooops ");
  33. }
  34. @Override
  35. public void getOlder(int years)
  36. {
  37. age += years;
  38. }
  39. @Override
  40. public void eat()
  41. {
  42. System.out.print("Some food please...");
  43.  
  44. }
  45. // the getters and setters...
  46. public int getAge()
  47. {
  48. return this.MyAge;
  49. }
  50. public void setAge(int Age)
  51. {
  52. this.MyAge=Age;
  53. }
  54.  
  55.  
  56. //methods for iterating through the limbs
  57. public void getArms()
  58. {
  59. Limb limbs = new Arms("");
  60. ArrayList myArms = new ArrayList();
  61. // Populate the list using the .add() methods
  62. myArms.add("Right Hand");
  63. myArms.add("Left Hand");
  64. Collection myforeLimbs =myArms;
  65. if(limbs instanceof Arms)
  66. {
  67. System.out.println("\t"+myforeLimbs);
  68. }
  69.  
  70. }
  71. public void getLegs()
  72. {
  73. Limb limbs = new Leg("");
  74. ArrayList myLegs = new ArrayList();
  75. // Populate the list using the .add() methods
  76. myLegs.add("Right Leg");
  77. myLegs.add("Left Leg");
  78. Collection myhindLimbs =myLegs;
  79. if(limbs instanceof Leg)
  80. {
  81. System.out.println("\t"+myhindLimbs);
  82. }
  83.  
  84. }
  85.  
  86. public abstract boolean canWatchMovie(MovieRating mRt);
  87.  
  88. }

I have class Arms and class Leg. Both two classes implement interface Limb.
Is there a way I can change my getLegs() and public void getArms() methods to achieve the above?
Similar Threads
Reputation Points: 10
Solved Threads: 0
Newbie Poster
Achupa is offline Offline
24 posts
since Oct 2008
Nov 3rd, 2008
0

Re: Iterating through a collection

Click to Expand / Collapse  Quote originally posted by Achupa ...
Hi, can someone help me modify this code to achieve the following:
Add methods to your Human that return collections of arms and legs. implement these methods by iterating through the collection of limbs and checking what type of limb they are. Note that you will need to use the instanceOf keyword.
Java Syntax (Toggle Plain Text)
  1. import java.util.*;
  2. public abstract class Human extends Mammal
  3. {
  4. int MyAge,Age;
  5. String mrating;
  6.  
  7. Arms[] arms = new Arms[2];
  8. Leg[] legs = new Leg[2];
  9.  
  10. void walk()
  11. {
  12. legs[0].move("Right Leg");
  13. legs[1].move("Left Leg");
  14. }
  15.  
  16. void swim()
  17. {
  18. arms[0].move("Right hand");
  19. arms[1].move("Left hand");
  20.  
  21. }
  22.  
  23. // default constructor
  24. public Human(String name)
  25. {
  26. super(name);
  27. gender = 'M'; // the default is M for Male
  28. }
  29. @Override
  30. public void makeSound()
  31. {
  32. System.out.print(name+" Oooops ");
  33. }
  34. @Override
  35. public void getOlder(int years)
  36. {
  37. age += years;
  38. }
  39. @Override
  40. public void eat()
  41. {
  42. System.out.print("Some food please...");
  43.  
  44. }
  45. // the getters and setters...
  46. public int getAge()
  47. {
  48. return this.MyAge;
  49. }
  50. public void setAge(int Age)
  51. {
  52. this.MyAge=Age;
  53. }
  54.  
  55.  
  56. //methods for iterating through the limbs
  57. public void getArms()
  58. {
  59. Limb limbs = new Arms("");
  60. ArrayList myArms = new ArrayList();
  61. // Populate the list using the .add() methods
  62. myArms.add("Right Hand");
  63. myArms.add("Left Hand");
  64. Collection myforeLimbs =myArms;
  65. if(limbs instanceof Arms)
  66. {
  67. System.out.println("\t"+myforeLimbs);
  68. }
  69.  
  70. }
  71. public void getLegs()
  72. {
  73. Limb limbs = new Leg("");
  74. ArrayList myLegs = new ArrayList();
  75. // Populate the list using the .add() methods
  76. myLegs.add("Right Leg");
  77. myLegs.add("Left Leg");
  78. Collection myhindLimbs =myLegs;
  79. if(limbs instanceof Leg)
  80. {
  81. System.out.println("\t"+myhindLimbs);
  82. }
  83.  
  84. }
  85.  
  86. public abstract boolean canWatchMovie(MovieRating mRt);
  87.  
  88. }

I have class Arms and class Leg. Both two classes implement interface Limb.
Is there a way I can change my getLegs() and public void getArms() methods to achieve the above?

ehm yes, by using
Click to Expand / Collapse  Quote originally posted by Achupa ...
instanceOf
Reputation Points: 935
Solved Threads: 356
Nearly a Posting Maven
stultuske is offline Offline
2,497 posts
since Jan 2007
Nov 3rd, 2008
0

Re: Iterating through a collection

does that mean the way i've done it is okay? or what can i change?
Reputation Points: 10
Solved Threads: 1
Newbie Poster
janamrob is offline Offline
22 posts
since Sep 2008
Nov 3rd, 2008
0

Re: Iterating through a collection

did you run the code and did it do what you want it to do?
Reputation Points: 935
Solved Threads: 356
Nearly a Posting Maven
stultuske is offline Offline
2,497 posts
since Jan 2007

This thread is more than three months old

No one has posted to this discussion for at least three months. Please let old threads die and do not reply to them unless you feel you have something new and valuable to contribute that absolutely must be added to make the discussion complete. Otherwise, please start a new thread in this forum instead.
Message:
Previous Thread in Java Forum Timeline: Recursion problem...
Next Thread in Java Forum Timeline: what are "prejava" files?





About Us | Contact Us | Advertise | Acceptable Use Policy
Forum Index | Build Custom RSS Feed


Follow us on Twitter


© 2011 DaniWeb® LLC