2014-11-15 4 views
0

У меня есть два класса. Класс Cat, который содержит имена кошек, год рождения и вес в килограммах. У меня есть класс под названием Cattery, который является массивом. Я хочу ввести кошек из класса Cat в массив. Каждый кот будет иметь свое имя, год рождения и вес в Килосе. Как мне это сделать? Спасибо.Как вы вызываете методы в массив объектов?

public class Cat { 

    private String name; 
    private int birthYear; 
    private double weightInKilos; 

/** 
* default constructor 
*/ 
public Cat() { 
} 

/** 
* @param name 
* @param birthYear 
* @param weightInKilos 
*/ 
public Cat(String name, int birthYear, double weightInKilos){ 
    this.name = name; 
    this.birthYear = birthYear; 
    this.weightInKilos = weightInKilo 
} 

/** 
* @return the name. 
*/ 
public String getName() { 
    return name; 
} 

/** 
* @return the birthYear. 
*/ 
public int getBirthYear() { 
    return birthYear; 
} 

/** 
* @return the weightInKilos. 
*/ 
public double getWeightInKilos() { 
    return weightInKilos; 
} 

/** 
* @param the name variable. 
*/ 
public void setName(String newName) { 
    name = newName; 
} 

/** 
* @param the birthYear variable. 
*/ 
public void setBirthYear(int newBirthYear) { 
    birthYear = newBirthYear; 
} 

/** 
* @param the weightInKilos variable. 
*/ 
public void setWeightInKilos(double newWeightInKilos) { 
    weightInKilos = newWeightInKilos; 
} 
} 

Класс массива.

import java.util.ArrayList; 

public class Cattery { 

    private ArrayList<Cat> cats; 
    private String businessName; 

/** 
* @param Cattery for the Cattery field. 
*/ 

public Cattery() { 
    cats = new ArrayList<Cat>(); 
    this.businessName = businessName; 
} 

/** 
* Add a cat to the cattery. 
* @param catName the cat to be added. 
*/ 
public void addCat(Cat name) 
{ 
    Cat.add(getName()); 
} 

/** 
* @return the number of cats. 
*/ 
public int getNumberOfCats() 
{ 
    return cats.size(); 
} 
} 
+3

Попытайтесь называть «здесь котенком», хотя постукивание его блюдо может работать лучше :-). –

+0

Вызов 'cats.add (новый Cat (...))'? –

ответ

0

Похоже, что вы пытаетесь сделать, это добавить кошек в cats списке вы объявлены в вашем Cattery. Еще один ответ уже отмечает необходимую коррекцию - ваш метод addCat должен быть изменен, чтобы фактически поместить кошек в список. Обратите внимание, что вы не добавляете имя cat, а фактический объект Cat. Также кажется, что вы хотите, чтобы у Cattery было название компании. Вы можете передать это конструктору.

public Cattery(String businessName) { 
    cats = new ArrayList<Cat>(); 
    this.businessName = businessName; 
} 
... 
public void addCat(Cat cat) 
{ 
    cats.add(cat); 
} 

Вот пример того, как вы можете создать свой питомник и впоследствии добавить кошек. Вы должны любить кошек.

class CatApp{ 
    public static void main(String[] args) { 
     Cattery cattery = new Cattery("The Delicious Cats Business"); 
     cattery.addCat(New Cat("Milo", 3, 388.87)); 
     cattery.addCat(New Cat("Otis", 2, 1.4)); 
     System.out.println("Total number of cats ready for consumption = " 
      + cattery.getNumberOfCats()); 
    } 
} 
+1

'388.87' ?? Сколько вы его кормите ????????? – ajb

+1

@ajb Мило - прожорливый кот. – Josh

+1

Я больше беспокоюсь о количестве кошек * «готов к употреблению» *. Вы регулярно ** едите ** кошек ??? –

1

просто отредактируйте метод «addCat», чтобы передать объект из аргумента в ваш ArrayList.

public void addCat(Cat name) 
{ 
    cats.add(name); 
}