Re: Can we over-load "+" in Java?



"Shawn" <shaw@xxxxxxxxxx> wrote in message news:eec6sb$qpr$1@xxxxxxxxxxxxxxxxxxxxx

Thank you very much for your any feedbacks.

============Person.java==========

public class Person {
private String sName;

public Person()
{
//empty
}

Does it make sense to allow for a person without a name? If not, I'd get rid of the empty constructor.


public Person(String s)
{
this.sName = s;
}

public String getName()
{
return sName;
}
}

=========Team.java=============
import java.util.*;

public class Team {
private Person leader;
private Vector members; //Vector is not good for this, but I am
familiar with it. So just for now.

I recommend using a Set rather than a Vector or a List. Set doesn't allow duplicates, which means a person maybe no be a member of the same team twice, which intuitively makes more sense to me.


public Team()
{
this.leader = new Person();

Similarly here, it might be better to let leader be "null" to present no leader, rather than have a person with no name.

this.members = new Vector();
}

public void setTeamLeader(Person p)
{
this.leader = p;
}

public Person getLeader()
{
return leader;
}

public void addMemeber(Person p)
{
this.members.addElement(p);
}

public void removeMember(Person p)
{
this.members.removeElement(p);
}

public void showMembers()
{
Person temP;
temP = this.getLeader();
System.out.println("The team leader is: " + (String)temP.getName());
for (int i=0; i < members.size(); i++)
{
temP = (Person)members.elementAt(i);
System.out.println(temP.getName());
}
}
}

=========Department.java=======
import java.util.*;

public class Department {
private Vector teams;

public Department()
{
teams = new Vector();
}

public void addTeam(Team t)
{
teams.addElement(t);
}

public void removeTeam(Team t)
{
teams.removeElement(t);
}

public void showAllMemebers()
{
System.out.println("Our department has the following members:");
Team temT;
for (int i= 0; i < teams.size(); i++ )
{
temT = (Team)teams.elementAt(i);
temT.showMembers();
}
}
}

=========Demo.java==========
public class Demo {
public static void main(String[] args)
{
Team dreamTeam = new Team();
Person person1 = new Person("John");
Person person2 = new Person("Ed");
Person person3 = new Person("Linda");

dreamTeam.addMemeber(person1);
dreamTeam.addMemeber(person2);
dreamTeam.addMemeber(person3);

dreamTeam.setTeamLeader(person2);

dreamTeam.showMembers();

dreamTeam.removeMember(person1);

dreamTeam.showMembers();

Team secondTeam = new Team();
Person person4 = new Person("Lee");
Person person5 = new Person("Tom");
secondTeam.addMemeber(person4);
secondTeam.addMemeber(person5);

secondTeam.setTeamLeader(person4);
secondTeam.showMembers();

Department newDept = new Department();
newDept.addTeam(dreamTeam);
newDept.addTeam(secondTeam);

newDept.showAllMemebers();
}
}

So far looks good, but where's your method for merging teams or splitting them?

- Oliver

.



Relevant Pages

  • Re: Accessing at runtime nested methods parameters values
    ... private object val; ... public override string ToString() ... public class Call ... public void PushName ...
    (microsoft.public.dotnet.languages.csharp)
  • Re: Problem mit BindingSource
    ... Public Class Form36 ... Private Sub Form36_Load(ByVal sender As System.Object, ... private MeinDTO _backup; ... public void BeginEdit() ...
    (microsoft.public.de.german.entwickler.dotnet.datenbank)
  • Re: Capturing both stdout and stderr of exec-ed process in JTextArea
    ... private static int returnValue = Integer.MIN_VALUE; ... public JtaCommandRunner(JTextArea jta) { ... public void run{ ... public class JtaOutReader implements Runnable { ...
    (comp.lang.java.gui)
  • Re: Can we over-load "+" in Java?
    ... public class Person { ... private String sName; ... private Person leader; ... public void setTeamLeader ...
    (comp.lang.java.programmer)
  • Re: JFrame Resize Issues
    ... private Rectangle positRectangle; ... private JMenuItem FilePlayback; ... static public void main{ ... public void componentHidden(ComponentEvent evt) { ...
    (comp.lang.java.programmer)