Форум программистов, компьютерный форум, киберфорум
Java SE (J2SE)
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/6: Рейтинг темы: голосов - 6, средняя оценка - 5.00
 Аватар для StMechanus
8 / 8 / 2
Регистрация: 26.04.2011
Сообщений: 87

Коллекция классов

10.12.2011, 19:09. Показов 1239. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Есть задание:
Дан файл, который содержит информацию об игрушках. Указывается название игрушки (кукла, мяч, конструктор и кубики), ее стоимость в копейках, и возрастная категория (например от 3 до 5). Кроме того для куклы указывается ее размер в см, для кубиков - их количество в наборе, для мяча - его вес в граммах, для конструктора - количество конструкций, которые можно из него собрать.

Нужно создать коллекцию классов для хранения этих данных. Помогите описать эту коллекцию и объясните как с ней в итоге работать.
Мои личные попытки чтото написать дальше наследования не пошли
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
10.12.2011, 19:09
Ответы с готовыми решениями:

Коллекция
Как добавить элемент(элементы) в начало коллекции?

Обнуляется коллекция
Здравствуйте! Имеется класс Category с полем Set, содержащим список дочерних категорий. Когда вызывается метод setName() у объекта класса...

Коллекция Map
Дан файл file.txt, содержание (1-е число - столькиэтажный дом, 2-е количество таких домов): Нужно использовать коллекцию Map для...

2
Эксперт JavaЭксперт С++
 Аватар для M128K145
8384 / 3617 / 419
Регистрация: 03.07.2009
Сообщений: 10,709
11.12.2011, 17:06
StMechanus, выложите файл, который вам дан, выложите свои наработки.
0
 Аватар для lemegeton
4903 / 2696 / 921
Регистрация: 29.11.2010
Сообщений: 5,783
13.12.2011, 15:37
Лучший ответ Сообщение было отмечено StMechanus как решение

Решение

Сериализуемые объекты. "Кубики" и "Конструктор" самостоятельно, по-аналогии. В примере показаны объявление, сохранение и загрузка.
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
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
import java.io.*;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collection;
 
/**
 * Created by IntelliJ IDEA.
 * User: rtimoshenko
 * Date: 13.12.2011
 * Time: 14:26:07
 * To change this template use File | Settings | File Templates.
 */
 
enum AgeGroup {
    AGEUNLIMITED,
    AGE2TO3,
    AGE3TO5,
    AGE6TO9
}
 
interface Toy extends Serializable {
    String getToyName();
    String getName();
    int getPrice();
    AgeGroup getAge();
}
 
abstract class SomeToy implements Toy {
    private int price = 0;
    private AgeGroup ageGroup = AgeGroup.AGEUNLIMITED;
    private String name = "";
    public SomeToy() {}
    public SomeToy(String name, int price, AgeGroup ageGroup) {
        this.name = name;
        this.price = price;
        this.ageGroup = ageGroup;
    }
    public String getName() { return name; }
    public void setName(String name) { this.name = name; }
    public int getPrice() { return price; }
    public void setPrice(int price) { this.price = price; }
    public AgeGroup getAge() { return ageGroup; }
    public void setAge(AgeGroup ageGroup) { this.ageGroup = ageGroup; }
    public String toString() {
        return "The " + getToyName() + " " + getName() + " for " + getAge() + " costs " + getPrice() / 100.;
    }
}
 
class Doll extends SomeToy {
    private int size = 0;
    Doll() { super(); }
    Doll(String name, int price, AgeGroup ageGroup, int size) {
        super(name, price, ageGroup);
        this.size = size;
    }
    public int getSize() { return size; }
    public void setSize(int size) { this.size = size; }
    public String getToyName() { return "doll"; }
    public String toString() {
        return super.toString() + ", size: " + getSize() + "cm";
    }
}
 
class Ball extends SomeToy {
    private int weight = 0;
    Ball() { super(); }
    Ball(String name, int price, AgeGroup ageGroup, int size) {
        super(name, price, ageGroup);
        this.weight = size;
    }
    public int getWeight() { return weight; }
    public void setWeight(int size) { this.weight = size; }
    public String getToyName() { return "ball"; }
    public String toString() {
        return super.toString() + ", weight: " + getWeight() + "g";
    }    
}
 
 
public class Launcher {
    public static void save(String fileName, Collection<Toy> toys) throws FileNotFoundException, IOException {
        ObjectOutputStream out = new ObjectOutputStream(new FileOutputStream(fileName));
        for (Toy toy : toys)
            out.writeObject(toy);
        out.close();
    }
    public static Collection<Toy> load(String fileName) throws IOException, ClassNotFoundException {
        ObjectInputStream in = new ObjectInputStream(new FileInputStream(fileName));
        Collection<Toy> result = new ArrayList<Toy>();
        try {
            while (true) {
                Toy value = (Toy)in.readObject();
                result.add(value);
            }
        } catch (EOFException e) {}
        in.close();
        return result;
    }
    public static void main(String... args) throws IOException, ClassNotFoundException {
        Collection<Toy> toys = new ArrayList<Toy>(Arrays.asList(
            new Doll("Masha", 1222, AgeGroup.AGE3TO5, 12),
            new Ball("Basketball ball", 1403, AgeGroup.AGEUNLIMITED, 300)
        ));
        save("temp", toys);
        System.out.println(load("temp"));
    }
}
2
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
13.12.2011, 15:37
Помогаю со студенческими работами здесь

Коллекция TreeSet
В очередной раз обрщаюсь к вам за помощью... import static java.lang.Math.random; import java.util.Map; import...

Коллекция ArrayList
Здравствуйте, подскажите пожалуйста! В ArrayList подаем последовательность чисел, и по заданию объект ходит по коллекции, как реализовать...

Коллекция в коллекции
Здравствуйте! У меня вопрос по коллекциям в коллекциям, есть следующий map Map&lt;String, Queue&lt;Double&gt;&gt; notes; Мне бы...

коллекция ArrayList
Прошу помочь новичку. У меня есть коллекция в которую из базы добавляются значения. Мне нужно вывести их все, а выводиться только...

Коллекция TreeSet
Скажите, пожалуйста, необходимо создать коллекцию, в которой будет осуществляться сортировка элементов, как я понял нужно использовать...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это дополнительная запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая. . .
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru