Фабрика, Переключатель и Случайный - Java - PullRequest
0 голосов
/ 01 сентября 2018

Я только начал несколько недель назад изучать Java. Пока у меня есть проблема, которую я не могу преодолеть. У меня есть мама класса, с 4 расширенными классами. У меня есть вектор, и я хочу поместить в него объекты, созданные случайным образом с помощью Factory with Switch (я хочу использовать этот режим, потому что я не понимаю, как работает switch - я сделал это с if / else, но не с switch). Кто-нибудь может мне помочь? :)

package Tudor;
import java.util.Random;
import java.util.Arrays;
public class Main {

    public static void main(String[] args) {
        Random rd = new Random();
        int tipAnimal = rd.nextInt(4);
       Animal list[] = new Animal[5];

        for (int i = 0; i < list.length;; i++) {
            lista[i] = Factory.buildAnimal(tipAnimal);
        }



package Tudor;

public class Animal {
    Object animal;
 public Animal(Object animal) {
        this.animal = animal;
    }


package Tudor;
public class Dog extends Animal {
}

package Tudor;
public class Cat extends Animal {
}

package Tudor;
public class Doberman extends Dog{
}

package Tudor;
public class Shorthair extends Cat{
}

package Tudor;

public class Factory {
    public static Animal buildAnimal ( Object animal) {

        switch (animal) {
}

Дело в том, что я не могу понять, как дела должны быть в этом переключателе.

1 Ответ

0 голосов
/ 02 сентября 2018

Thx. Я понял. Я должен был использовать int от Object.

public class Factory {
    public static Animal buildAnimal (int tipAnimal) {  

        switch (tipAnimal) {   
            case 0 :           
                return new Animal();  
            case 1 :
                return  new Dog();
            case 2:
                return new Cat();
            case 3:
                return new Doberman();
            case 4:
                return new Shorthair();
            default: return null;
        }
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...