Problem in arranging contents of Class in JAVA

Posted by LuckySlevin on Stack Overflow See other posts from Stack Overflow or by LuckySlevin
Published on 2010-06-09T11:05:57Z Indexed on 2010/06/09 11:12 UTC
Read the original article Hit count: 151

Filed under:
|

Hi, I have some classes and I'm trying to fill the objects of this class. Here is what i've tried. (Question is at the below)

public class Team
{
    private String clubName;
    private String preName;
    private ArrayList<String> branches;

    public Team(String clubName, String preName)
    {
        this.clubName = clubName;
        this.preName = preName;
        branches = new ArrayList<String>();
    }

    public Team() {
        // TODO Auto-generated constructor stub
    }

    public String getClubName() { return clubName; }
    public String getPreName() { return preName; }
    public ArrayList<String> getBranches() { return branches; }

    public void setClubName(String clubName) { this.clubName = clubName; }
    public void setPreName(String preName) { this.preName = preName; }
    public void setBranches(ArrayList<String> branches) { this.branches = branches; }
}

public class Branch
{
    private ArrayList<Player> players = new ArrayList<Player>();
    String brName;
    public Branch() {}
    public void setBr(String brName){this.brName = brName;}
    public String getBr(){return brName;}
    public ArrayList<Player> getPlayers() { return players; }
    public void setPlayers(ArrayList<Player> players) { this.players = players; }
}

//TEST CLASS

public class test {

/**
 * @param args
 * @throws IOException 
 */
public static void main(String[] args) throws IOException {

    String a,b,c;
    String q = "q";
    int brCount = 0, tCount = 0;
    BufferedReader input = new BufferedReader(new InputStreamReader(System.in)); 
    Team[] teams = new Team[30];
    Branch[] myBranch = new Branch[30];
    for(int z = 0 ; z <30 ;z++)
    {
        teams[z] = new Team();
        myBranch[z] = new Branch();
    }
    ArrayList<String> tmp = new ArrayList<String>();
    int k = 0;
    int secim = Integer.parseInt(input.readLine());
    while(secim != 0)
    {
        if(k!=0)
        secim = Integer.parseInt(input.readLine());
    k++;    
    switch(secim)
    {
    case 1 : 
        brCount = 0;
    a = input.readLine();
    teams[tCount].setClubName(a);
    b= input.readLine();
    teams[tCount].setPreName(b);
    c = input.readLine();

    while(c.equals(q) == false)
    {
        if(brCount != 0)
            {c = input.readLine();}
        if(c.equals(q)== false){
        myBranch[brCount].brName = c;
        tmp.add(myBranch[brCount].brName);
        brCount++;
        }
        System.out.println(brCount);
    }   

    teams[tCount].setBranches(tmp);

    for(int i=0;i<=tCount;i++ ){
    System.out.print("a :" + teams[i].getClubName()+ "   " + teams[i].getPreName()+ "   ");

    System.out.println(teams[i].getBranches());}
    tCount++;
    break;
    case 2: 
        String src = input.readLine();//LATERRRRRRRr

    }

    }
}

}

The problem is one of my class elements. I have an arraylist as an element of a class. When i enter:

AAA as preName
BBB as clubName
c
d
e   as Branches

Then as a second element

www as preName
GGG as clubName
a
b as branches 

The result is coming like:
AAA BBB c,d,e,a,b
GGG www c,d,e,a,b

Which means ArrayList part of the class is putting it on and on. I tried to use clear() method but caused problems. Any ideas.

© Stack Overflow or respective owner

Related posts about java

Related posts about arraylist