С Новым годом! Форум программистов, компьютерный форум, киберфорум
Java SE (J2SE)
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.88/8: Рейтинг темы: голосов - 8, средняя оценка - 4.88
0 / 0 / 0
Регистрация: 27.07.2013
Сообщений: 56

Написать клас FootballFactory

27.07.2013, 09:25. Показов 1702. Ответов 24
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Незнаю как делать: Написать класс FootballFactory, у которого есть метод FootballCreate(int id ) , id - тип футболиста(воротар, форвард)

Помогите решить: верный путь решения показать.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
27.07.2013, 09:25
Ответы с готовыми решениями:

Создать клас MinimumOf для приблизительного нахождения минимума произвольной функции
Наследование Создать клас MinimumOf для приблизительного нахождения минимума произвольной функцииf (x). Формула для обчислення f...

написать клас Employee
Написать класс "Employee" (работник), описывающий работника, содержит данные: его имя, фамилия, должность, оклад и номер договора о приеме...

Нужен совет, как правильно написать клас
Всем привет! Уже пару дней бьюсь не могу написать такую вещь. Мне нужен клас. Его конструктор по умолчанию запривачен (объект этого...

24
 Аватар для Gepar
1186 / 543 / 78
Регистрация: 01.07.2009
Сообщений: 3,517
27.07.2013, 13:18
olegmalahov, ну делаешь класс FootballPlayer после чего пишешь класс FootballFactory особенностью которого должен быть private конструктор и static метод по созданию игроков, наверное такое от тебя хотят, хоть это и не классическая фабрика ...
0
0 / 0 / 0
Регистрация: 27.07.2013
Сообщений: 56
27.07.2013, 13:27  [ТС]
Я сделал так, но это не верно ((( Подскажите где ощибки
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
Подскажите что я неверно сделал:
 
public class FootballFactory 
{
 public static void main(String[] args)
 {
 FootballFactory footballFactory = new footballFactory;
 Fottball a = FootballFactory.create(0);
 }
FootballCreate:
 int FootballVreate(int id) 
 {
 return id * getType;
 } 
}
 }
0
-7 / 22 / 4
Регистрация: 07.03.2013
Сообщений: 229
27.07.2013, 15:27
Цитата Сообщение от olegmalahov Посмотреть сообщение
Подскажите где ощибки
энто на каком языке щас было??
0
1 / 1 / 0
Регистрация: 19.07.2013
Сообщений: 121
27.07.2013, 15:45
Так а что необходимо выводить, просто id и все?

Добавлено через 3 минуты
Ну СХЕМАТИЧНО вот так:

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
package FootballFactory;
 
class FootballFactory{
    static int id = 1;
    
    int FootballCreate(int id){
        
        return id;
    }
    
    public static void main(String args[]) { 
        FootballFactory f = new FootballFactory(); 
 
} 
}
1
-7 / 22 / 4
Регистрация: 07.03.2013
Сообщений: 229
27.07.2013, 16:07
Цитата Сообщение от Тангенс Посмотреть сообщение
Ну СХЕМАТИЧНО вот так:
не то пальто
0
1 / 1 / 0
Регистрация: 19.07.2013
Сообщений: 121
27.07.2013, 16:16
Цитата Сообщение от Olllolll Посмотреть сообщение
не то пальто
Тоисть? Он сказал что должен быть конструктор и аргумен id игрока. Я написал схему, а что должен делать скрипт: выводить или присваивать каждому игроку id он не говорил. Но это уже одним конструктором не обойтись
0
 Аватар для Gepar
1186 / 543 / 78
Регистрация: 01.07.2009
Сообщений: 3,517
27.07.2013, 16:19
Цитата Сообщение от olegmalahov Посмотреть сообщение
Подскажите где ощибки
ошибка в слове ошибки
А вообще неверно всё. Фабрика должна возвращать игроков (судя по названию), я тебе же писал

Цитата Сообщение от Gepar Посмотреть сообщение
делаешь класс FootballPlayer
где он? Ты хоть следуй написанному чтобы я мог тебе помочь, мейн тоже убери из фабрики, ему там совсем не место, создай какой-то MainClass с методом main + экземпляры фабрики НЕ СОЗДАЮТЬСЯ, она на то и фабрика что она одна управляет созданием других объектов. Ну да в общем вот тебе TODO:
1)Создать класс FootballPlayer (поля наверное фио и номер игрока, ещё можно поле название комманды добавить, по твоему усмотрению)
2)Вынести main в отдельный класс.
3)Написать фабрику с private конструктором (можно даже ничего не делающим) и static методом получения игроков.
Покажешь что получилось и я помогу доделать если что.

Добавлено через 33 секунды
Цитата Сообщение от Тангенс Посмотреть сообщение
а что должен делать скрипт
Начнём с того что это НЕ джава скрипт.
0
-7 / 22 / 4
Регистрация: 07.03.2013
Сообщений: 229
27.07.2013, 16:21
мб что то типа такого, только без полей класса

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
public class FootballFactory {
    public static void main(String[] args) {
        FootballFactory forward = footballCreate(2);
        FootballFactory goalkiper = footballCreate(1);
 
    }
 
    public static FootballFactory footballCreate(int id) {
        FootballFactory goalkiper;
        FootballFactory forward;
        FootballFactory lol = null;
        if (id == 1) {
            goalkiper = new FootballFactory();
            lol = goalkiper;
        }
        if (id == 2) {
            forward = new FootballFactory();
            lol = forward;
        }
        return lol;
    }
}
0
0 / 0 / 0
Регистрация: 27.07.2013
Сообщений: 56
27.07.2013, 16:42  [ТС]
Цитата Сообщение от Olllolll Посмотреть сообщение
мб что то типа такого, только без полей класса

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
public class FootballFactory {
    public static void main(String[] args) {
        FootballFactory forward = footballCreate(2);
        FootballFactory goalkiper = footballCreate(1);
 
    }
 
    public static FootballFactory footballCreate(int id) {
        FootballFactory goalkiper;
        FootballFactory forward;
        FootballFactory lol = null;
        if (id == 1) {
            goalkiper = new FootballFactory();
            lol = goalkiper;
        }
        if (id == 2) {
            forward = new FootballFactory();
            lol = forward;
        }
        return lol;
    }
}
У меня уже все типы играков в других файлах створеные, потому я думаю так находить id
Java
1
2
3
4
5
create(int type)
{
      if (type == 0) return new kiper();
      else (type ==1 ) return new forvard
}
Добавлено через 8 минут
Цитата Сообщение от olegmalahov Посмотреть сообщение
У меня уже все типы играков в других файлах створеные, потому я думаю так находить id
Java
1
2
3
4
5
create(int type)
{
      if (type == 0) return new kiper();
      else (type ==1 ) return new forvard
}
Их id : kiper: 2
zachtita: 1
poluzachita: 5
opornuyorvar:
forvard: 4
opornuyforvar: : 3
0
-7 / 22 / 4
Регистрация: 07.03.2013
Сообщений: 229
27.07.2013, 16:44
тоже вариант
0
0 / 0 / 0
Регистрация: 27.07.2013
Сообщений: 56
27.07.2013, 16:49  [ТС]
Цитата Сообщение от Olllolll Посмотреть сообщение
тоже вариант
но у меня не выходит переделать по своему ваш код((
0
 Аватар для Gepar
1186 / 543 / 78
Регистрация: 01.07.2009
Сообщений: 3,517
27.07.2013, 16:55
olegmalahov,Olllolll, твоя фабрика производит футбольные фабрики, тебя это не настораживает?

Ок, пример фабрики на пицце (у меня завалялся пример) :
Java
1
2
3
4
5
6
7
public class Pizza {
    String name;
    String dough;
    String sauce;
    
    //set / get методы
}
дальше есть наследники: пицца с сыром, пицца с пеперони и т.д, я их код не привожу, у тебя всё равно пример попроще.
Пример самой фабрики (самая примитивная реализация, тебе подойдёт):
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
public class SimplePizzaFactory {
 
  private SimplePizzaFactory() { } //конструктор private и никто не сможет создать другую фабрику
 
    public static Pizza createPizza(String type) { //метод static, обрати на это внимание!!!
        Pizza pizza = null;
 
        if (type.equals("cheese")) {
            pizza = new CheesePizza();
        } else if (type.equals("pepperoni")) {
            pizza = new PepperoniPizza();
        } else if (type.equals("clam")) {
            pizza = new ClamPizza();
        } else if (type.equals("veggie")) {
            pizza = new VeggiePizza();
        }
        return pizza;
    }
}
0
0 / 0 / 0
Регистрация: 27.07.2013
Сообщений: 56
27.07.2013, 17:13  [ТС]
Цитата Сообщение от Gepar Посмотреть сообщение
olegmalahov,Olllolll, твоя фабрика производит футбольные фабрики, тебя это не настораживает?

Ок, пример фабрики на пицце (у меня завалялся пример) :
Java
1
2
3
4
5
6
7
public class Pizza {
    String name;
    String dough;
    String sauce;
    
    //set / get методы
}
дальше есть наследники: пицца с сыром, пицца с пеперони и т.д, я их код не привожу, у тебя всё равно пример попроще.
Пример самой фабрики (самая примитивная реализация, тебе подойдёт):
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
public class SimplePizzaFactory {
 
  private SimplePizzaFactory() { } //конструктор private и никто не сможет создать другую фабрику
 
    public static Pizza createPizza(String type) { //метод static, обрати на это внимание!!!
        Pizza pizza = null;
 
        if (type.equals("cheese")) {
            pizza = new CheesePizza();
        } else if (type.equals("pepperoni")) {
            pizza = new PepperoniPizza();
        } else if (type.equals("clam")) {
            pizza = new ClamPizza();
        } else if (type.equals("veggie")) {
            pizza = new VeggiePizza();
        }
        return pizza;
    }
}
Передела под свое, проверте на правильность:
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
public class AnimalFactory {
 
  private AnimalFactory() { } //конструктор private и никто не сможет создать другую фабрику
 
    public static Animalcreate(String type) { //метод static, обрати на это внимание!!!
       AnimalFactory animalFactory= null;
 
        if (type==5) ("Cow") 
        {
            animalFactory = new Cow();
        } 
        
        else if (type== 1)("Dog") 
        {
            animalFactory = new Dog();
        } 
        
        else if (type==6("Duck")
        {
            animalFactory = new Duck();
        }
        
        else if (type==4)("Goat") 
        {
            animalFactory = new Goat();
        }
       
        else if (type==2)("Hen")
        {
            animalFactory = new Hen();
        }
       
        else if (type==3)("Pig")
        {
            animalFactory = new Pig();
        }
        return animalFactory;
    }
}
Добавлено через 3 минуты
type.equals - оно мне подходит? что это такое?
0
-7 / 22 / 4
Регистрация: 07.03.2013
Сообщений: 229
27.07.2013, 17:24
Цитата Сообщение от olegmalahov Посмотреть сообщение
но у меня не выходит переделать по своему ваш код((
Я ведь по сути и не знаю как должно бить №по вашему".
Попробуй что то типа такого мб подойдет
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
 
public class FootballFactory {
 
    private String name;
    private int age;
    private int strength;
    private String type;
 
    FootballFactory() {
    }
 
    FootballFactory(String name, int age, int strength, String type) {
        this.name = name;
        this.age = age;
        this.strength = strength;
        this.type = type;
    }
 
    public static void main(String[] args) throws IOException {
        System.out.println("Input player type:");
        System.out.println("(1 - goalkiper)\n(2 - forward)");
 
        BufferedReader bre = new BufferedReader(new InputStreamReader(System.in));
        int n = Integer.parseInt(bre.readLine());
        
        FootballFactory player = footballCreate(n);
 
        System.out.println("Player prp:");
        System.out.println("Type: " + player.type);
        System.out.println("Name: " + player.name);
        System.out.println("Age: " + player.age);
        System.out.println("Strength: " + player.strength);
    }
 
    public static FootballFactory footballCreate(int id) throws IOException {
        BufferedReader bre = new BufferedReader(
                new InputStreamReader(System.in));
 
        System.out.println("Name:");
        String name = bre.readLine();
        System.out.println("Age:");
        int age = Integer.parseInt(bre.readLine());
        System.out.println("Strength:");
        int strength = Integer.parseInt(bre.readLine());
 
        FootballFactory goalkiper;
        FootballFactory forward;
        FootballFactory lol = null;
 
        if (id == 1) {
            goalkiper = new FootballFactory(name, age, strength, "goalkiper");
            lol = goalkiper;
        }
 
        if (id == 2) {
            forward = new FootballFactory(name, age, strength, "forward");
            lol = forward;
        }
        return lol;
    }
}
0
 Аватар для Gepar
1186 / 543 / 78
Регистрация: 01.07.2009
Сообщений: 3,517
27.07.2013, 18:27
Цитата Сообщение от olegmalahov Посмотреть сообщение
type.equals - оно мне подходит? что это такое?
это проверка на эквивалентность значений, в твоём случае с int'ом надо просто ==.
Ну а вообще всё хорошо, но ты же хотел футболистов создавать, а не свиней и коров .
0
-7 / 22 / 4
Регистрация: 07.03.2013
Сообщений: 229
27.07.2013, 18:35
Цитата Сообщение от Gepar Посмотреть сообщение
но ты же хотел футболистов создавать, а не свиней и коров
у него видно сборная Рассеи п офутболу
0
 Аватар для Gepar
1186 / 543 / 78
Регистрация: 01.07.2009
Сообщений: 3,517
27.07.2013, 19:09
Да нет, он просто пишет не в компиляторе, а в текстовом редакторе от балды и не проверяет ничего, тот код даже не скомпилируеться, меня просто удивили названия животных в коде.
0
0 / 0 / 0
Регистрация: 27.07.2013
Сообщений: 56
27.07.2013, 19:11  [ТС]
Цитата Сообщение от Gepar Посмотреть сообщение
это проверка на эквивалентность значений, в твоём случае с int'ом надо просто ==.
Ну а вообще всё хорошо, но ты же хотел футболистов создавать, а не свиней и коров .
То у меня верно сделана задачка? Или так правельнее:
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
public class AnimalFactory 
{
 
  private AnimalFactory()
  { 
  } 
 
    public static Animalcreate(String type) 
    {
       AnimalFactory animalFactory= null;
 
        if (type==5) 
        {
            animalFactory = new Cow();
        } 
        
        else if (type== 1)
        {
            animalFactory = new Dog();
        } 
        
        else if (type==6
        {
            animalFactory = new Duck();
        }
        
        else if (type==4)
        {
            animalFactory = new Goat();
        }
       
        else if (type==2)
        {
            animalFactory = new Hen();
        }
       
        else if (type==3)
        {
            animalFactory = new Pig();
        }
        return animalFactory;
    }
}
0
27.07.2013, 19:16

Не по теме:

lol а куда делись футболисты?

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
27.07.2013, 19:16
Помогаю со студенческими работами здесь

клас Letter, клас Person
Створити клас Letter, що мiстить наступнi елементи: - поле «вiдправник» Person*Sender; - поле «одержувач» Person*Receiver; - поле...

клас обработчик
Написать класс обработчик исключительных ситуаций. Программа ловит ошибкуделения на нуль и выводитсообщение,вв какой части программы...

переделать клас
Всем привет! Надо немножко доработать етот код #include <iostream> #include <stdio.h> using namespace std; const int count = 5; ...

Простенький клас
Я написал словарь англо-русский просто с выводом базы на форму и банальной функцией поиска и подсветки требуемого сова в этой...

матрица. клас. 2
в продолжение этой темы вот заголовочный файл: #pragma once #include <vector> #include <iostream> typedef...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
Первый деплой
lagorue 16.01.2026
Не спеша развернул своё 1ое приложение в kubernetes. А дальше мне интересно создать 1фронтэнд приложения и 2 бэкэнд приложения развернуть 2 деплоя в кубере получится 2 сервиса и что-бы они. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь постоянного тока с R, L, C, k(ключ), U, E, J. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа, решает её и находит токи на L и напряжения на C в установ. режимах до и. . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Изучаю kubernetes
lagorue 13.01.2026
А пригодятся-ли мне знания kubernetes в России?
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru