Форум программистов, компьютерный форум, киберфорум
Java для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.86/7: Рейтинг темы: голосов - 7, средняя оценка - 4.86
1 / 1 / 0
Регистрация: 17.10.2021
Сообщений: 169

Конфеты. Возможности: выпустить партию конфет; получить информацию по продукции опреде-ленного производителя; добавить и

20.04.2022, 18:26. Показов 1495. Ответов 7
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте нужна помощь по заданию в лабе Конфеты. Возможности: выпустить партию конфет; получить информацию по продукции определенного производителя; добавить и редактировать информацию о продукции; добавить новые ин-гредиенты; создать новый тип конфет; снять с производства определенный тип конфет. Добавить специализированные методы для Конфеты, Шоколад, Леденец, Ирис. Буду очень признателен если кто поможет
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
20.04.2022, 18:26
Ответы с готовыми решениями:

Определить цену, если предприятие планирует выпустить на 50 % меньше продукции, но получить исходный размер прибыли
Задача 4. Переменные затраты на выпуск одного двигателя составили 80 р. Общие постоянные затраты – 340 тыс.р. Объем производства – 1000 шт....

Сколько единиц продукции можно выпустить с данным запасом сырья и какой вид сырья будет ограничивать выпуск продукции?
Для выпуска некоторого изделия необходимо затратить N видов сырья, причем на одну единицу изделия приходится ai количество i-го сырья. На...

В массиве храниться информация о стоимости 1 киллограмма 20 видов конфет. Определить сколько стоят самые дешевые конфеты
В массиве храниться информация о стоимости 1 килограмма 20(можно и 4) видов конфет. Определить сколько стоят самые дешевые конфеты. Help...

7
1 / 1 / 0
Регистрация: 17.10.2021
Сообщений: 169
22.04.2022, 22:37  [ТС]
Это код конфет
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
import java.util.List;
import java.util.Scanner;
 
public class Candies {
    public String type;
    public String proizvoditel;
    public String sostav;
    public String name;
    public Candies(String type,String proizvoditel,String sostav,String name){
        this.type=type;
        this.proizvoditel=proizvoditel;
        this.sostav=sostav;
        this.name=name;
    }
    public static Scanner in=new Scanner(System.in);
    public String getType()
    {
        return type;
    }
    public void setType(String type) {
        this.type = type;
    }
 
    public String getProizvoditel()
    {
        return proizvoditel;
    }
    public void setProizvoditel(String proizvoditel) {
        this.proizvoditel = proizvoditel;
    }
 
    public String getSostav()
    {
        return sostav;
    }
    public void setSostav(String sostav) {
        this.sostav = sostav;
    }
 
    public String getName()
    {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    @Override
    public String toString() {
        return "Тип='" + getType() + '\'' +
                ", Производитель='" + getProizvoditel() + '\'' +
                ", Состав='" + getSostav()+'\'' +
                ", Наим='" + getName();
    }
 
    public void displayInfo(){
        System.out.println("Тип:"+getType()+" Производитель:"+getProizvoditel()+" Состав:"+getSostav()+" Наим:"+getName());
    }
 
}
А это главный код:
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
import java.util.*;
 
public class Main {
    public static Scanner in=new Scanner(System.in);
    public static void main(String[] args) {
        Candies[] stu = new Candies[4];
        stu[0] = new Candies("Шоколад","Спартак","яйцо,белок","Аленка");
        stu[1]=new Candies("Леденец","Спартак","сахарбелый","Сосунок");
        stu[2]=new Candies("Ирис","Комунарка","черныйсахар","Глоток");
        System.out.println();
        for (int i = 0; i < 3; i++) {
            stu[i].displayInfo();
        }
        int x = 0;
        String s ="";
        while (!"4".equals(s)){
            System.out.println("1. Cписок конфет по производителю ");
            System.out.println("2. Добавить конфеты");
            System.out.println("3. Удалить конфеты");
            System.out.println("4. Список всех пациентов");
            System.out.println("Введите номер");
            s = in.next();
            try {
                x = Integer.parseInt(s);
            } catch (NumberFormatException e){
                System.out.println("Неверный ввод");
            }
            switch (x) {
                case 1:
                    System.out.println("Введите производителя");
                    String proiz = in.next();
                    for (int i = 0; i < 4; i++) {
                        if (stu[i].getProizvoditel().equals(proiz)) {
                            stu[i].displayInfo();
                        }
                    }
                    break;
                case 2:
                    for(int i=3;i<4;i++)
                    {
                        stu[i] = new Candies("","","","");
                        System.out.println("Введите Тип");
                        stu[i].type = in.next();
                        System.out.println("Введите производителя");
                        stu[i].proizvoditel = in.next();
                        System.out.println("Введите состав");
                        stu[i].sostav = in.next();
                        System.out.println("Введите Название");
                        stu[i].name = in.next();
                        stu[i].displayInfo();
                    }
                    break;
                case 3:
                    for (int i = 3; i < 4; i++) {
                       stu[i].type="";
                       stu[i].proizvoditel="";
                        stu[i].sostav="";
                        stu[i].name="";
                    }
                    for (int i = 0; i < 4; i++) {
                        stu[i].displayInfo();
                    }
                    break;
                case 4:
                    for (int i = 0; i < 4; i++) {
                        stu[i].displayInfo();
                    }
                    break;
                default:
                    System.out.println("Ошибка");
            }
        }
    }
}
Кто может подсобите с java что нетак я сделал Буду очень признателен в любой помомощи
0
2287 / 1603 / 400
Регистрация: 26.06.2017
Сообщений: 4,753
Записей в блоге: 1
25.04.2022, 08:28
Цитата Сообщение от Joseph_Seed Посмотреть сообщение
добавить новые ингредиенты
Думаю, что это задание предполагает наличие отдельных классов для ингредиентов, а в классе конфет список экземпляров этих самых классов.
Цитата Сообщение от Joseph_Seed Посмотреть сообщение
Добавить специализированные методы для Конфеты, Шоколад, Леденец, Ирис
Цитата Сообщение от Joseph_Seed Посмотреть сообщение
создать новый тип конфет
Эти задания однозначно предполагают применение наследования. В этом случае Вам надо определить базовый класс Конфета и уже от него создать унаследованные классы Шоколад, Леденец, Ирис.
Цитата Сообщение от Joseph_Seed Посмотреть сообщение
выпустить партию конфет
В коде создаётся три конфеты, т.е. выпуска партии нет.
Цитата Сообщение от Joseph_Seed Посмотреть сообщение
создать новый тип конфет
В коде нет возможности создания нового типа конфет.
0
1 / 1 / 0
Регистрация: 17.10.2021
Сообщений: 169
25.04.2022, 11:20  [ТС]
Uswer, значит задание не правильно поставлено что нет возможности создать новый тип конфет

Добавлено через 40 секунд
и добавления новых ингредиентов
0
2287 / 1603 / 400
Регистрация: 26.06.2017
Сообщений: 4,753
Записей в блоге: 1
29.04.2022, 15:25
Лучший ответ Сообщение было отмечено Joseph_Seed как решение

Решение

Наверное так должно быть? Но сразу отмечу, что реализовано не всё по заданию (сделано умышленно ).
Main:
Кликните здесь для просмотра всего текста
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
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
import java.util.ArrayList;
import java.util.Scanner;
 
public class Main
{
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        ArrayList<Sweet> Confetki = new ArrayList<Sweet>();
        
        int N = 0;
        do {
            System.out.println("1. Создать партию конфет");
            System.out.println("2. Добавить конфету");
            System.out.println("3. Удалить конфету");
            System.out.println("4. Список всех конфет");
            System.out.println("0. Выход");
            System.out.print("Введите номер: ");
            N = in.nextInt();
            switch (N) {
                case 1:
                    AddBatchOfSweets(Confetki);
                    break;
                case 2:
                    AddOneSweet(Confetki);
                    break;
                case 3:
                    
                    break;
                case 4:
                    WriteAllSweets(Confetki);
                    break;
                case 0:
                    
                    break;
                default:
                    System.out.println("Ошибка ввода");
            } 
        } while (N != 0);
    }
    
    private static void AddBatchOfSweets(ArrayList<Sweet> sweetList) {
        Scanner in = new Scanner(System.in);
        int Cn = 0;
        do {
            System.out.println("Партию каких конфет добавить?: ");
            WriteAllSweets();
            System.out.println("0. Выход");
            Cn = in.nextInt();
            Sweets ctype = GetSweetsByNumber(Cn);
            if (ctype != Sweets.None) {
                System.out.print("Сколько конфет в партии?: ");
                int k = in.nextInt();
                for (int i=1; i<=k; i++){
                    Sweet confeta  = CreateNewSweet(ctype);
                    sweetList.add(confeta);
                }
                Cn = 0;
            }
            else {
                System.out.println("Ошибка ввода");
            } 
        } while (Cn != 0);  
    }
    
    private static void AddOneSweet(ArrayList<Sweet> sweetList) {
        Scanner in = new Scanner(System.in);
        int Cn = 0;
        do {
            System.out.println("Какую конфету добавить?: ");
            WriteAllSweets();
            System.out.println("0. Выход");
            Cn = in.nextInt();
            Sweets ctype = GetSweetsByNumber(Cn);
            if (ctype != Sweets.None) {
                Sweet confeta  = CreateNewSweet(ctype);
                sweetList.add(confeta);
                Cn = 0;
            }
            else {
                System.out.println("Ошибка ввода");
            } 
        } while (Cn != 0);        
    }
    
    private static void WriteAllSweets(ArrayList<Sweet> sweetList) {
        int i = 0;
        for(Sweet conf : sweetList){
            System.out.print(Integer.toString(i) + ". ");
            System.out.println(conf.getInfo());
            i++;
        }
    }
    
    private static Sweet CreateNewSweet(Sweets sweetness) {
        Sweet confeta = null;
        switch (sweetness) {
            case Candy:                 
                confeta  = new Candy("Карамелька","Дюшес");
                break; 
            case Chocolate: {
                confeta  = new Chocolate("Шоколад плиточный", 20, 10); 
                }
                break; 
            case Lollipop:
                
                break;
            case Iris:
                confeta = new Iris("Ириска", 15);                    
                break;
            default:
                System.out.println("Неизвестный тип сладости");
        }
        return confeta;
    }
    
    private static Sweets GetSweetsByNumber(int number) {
        Sweets result = Sweets.None;
        switch (number) {
            case 1:
                result  = Sweets.Candy;
                break;
            case 2:
                result  = Sweets.Chocolate;
                break;
            case 3:
                result  = Sweets.Lollipop;
                break;
            case 4:
                result  = Sweets.Iris;
                break;
            default:
                result = Sweets.None;
        } 
        return result;
    }
    
    private static void WriteAllSweets() {
        System.out.println("1. Карамелька");
        System.out.println("2. Шоколадка");
        System.out.println("3. Леденец");
        System.out.println("4. Ириска");
    }
    
    enum Sweets{
        None,
        Candy,
        Chocolate,
        Lollipop,
        Iris
    }
}

Классы:
Ингредиент:
Кликните здесь для просмотра всего текста
Java
1
2
3
4
5
6
7
8
9
10
11
12
public class Ingredient {
    String name;
    public String GetName() { return this.name; }
    
    int amount;
    public int GetAmount() { return this.amount; }
    
    public Ingredient(String name, int amount) {
        this.name = name;
        this.amount = amount;
    }
}

Базовый, но не абстрактный класс сладостей:
Кликните здесь для просмотра всего текста
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
import java.util.ArrayList;
 
public class Sweet {
    String name;
    public String GetName() { return this.name; }
    
    ArrayList<Ingredient> ingredients;
    public ArrayList<Ingredient> GetIngredients() { return this.ingredients; }
    public Ingredient GetIngredients(int index) { return this.ingredients.get(index); }
    
    public Sweet(String name) {
        this.name = name;
        this.ingredients = new ArrayList<Ingredient>();
    }
    
    public String getInfo() {
        return "Название: " + name;
    }
}

Просто конфета:
Кликните здесь для просмотра всего текста
Java
1
2
3
4
5
6
7
8
9
10
public class Candy extends Sweet {
    String syrup;
    public String getSyrup() { return this.syrup; }
    
    public Candy(String name, String syrupName) {
        super(name);
        this.syrup = syrupName;
        this.ingredients.add(new Ingredient("Сахар", 20));
    }
}

Шоколадка:
Кликните здесь для просмотра всего текста
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
public class Chocolate extends Sweet {
    int width;
    int height;
    
    public Chocolate(String name, int width, int height) {
        super(name);
        this.ingredients.add(new Ingredient("Какао", 70));
        this.ingredients.add(new Ingredient("Сахар", 20));
        this.ingredients.add(new Ingredient("Прочее", 10));
        this.width = width;
        this.height = height;
    }
    
    public double GetArea() { return this.width * this.height; }
}

Ириска:
Кликните здесь для просмотра всего текста
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
public class Iris extends Sweet {
    double mass;
    public double getMass() { return this.mass; }
    
    public Iris(String name, double massa) {
        super(name);
        this.mass = massa;
        this.ingredients.add(new Ingredient("Молоко", 20));
        this.ingredients.add(new Ingredient("Сахар", 20));
        this.ingredients.add(new Ingredient("Сливочное масло", 5));
        this.ingredients.add(new Ingredient("Мёд", 2));
    }
}


P.S. Сильно не пинайте я не джавист, но конструктивная критика принимается.

Добавлено через 23 минуты
Цитата Сообщение от Joseph_Seed Посмотреть сообщение
значит задание не правильно поставлено что нет возможности создать новый тип конфет
Чисто технически можно создать тип в ходе выполнения, но для "лабы" это явно перебор. Тут главное понять что понимается под типом конфет: просто класс конфета с определённых набором ингредиентов или отдельная сущность.
С производителем как нибудь сами справитесь думаю, ну и некоторые шероховатости кода (а они безусловно есть) тоже исправите. В коде кое что допилить надо. В общем пища для размышлений предоставлена
0
1 / 1 / 0
Регистрация: 17.10.2021
Сообщений: 169
29.04.2022, 18:54  [ТС]
Uswer, Понял спасибо большое

Добавлено через 25 секунд
Uswer, я сам тоже не джавист я шарпист
0
29.04.2022, 18:59

Не по теме:

Цитата Сообщение от Joseph_Seed Посмотреть сообщение
я шарпист
бывает

0
1 / 1 / 0
Регистрация: 17.10.2021
Сообщений: 169
29.04.2022, 19:08  [ТС]
StepFather322, просто препод взял задания с java from EPAM
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
29.04.2022, 19:08
Помогаю со студенческими работами здесь

11.110. В массиве хранится информация о стоимости 1 килограмма 20 видов конфет. Определить, сколько стоят самые дешевые конфеты
11.110. В массиве хранится информация о стоимости 1 килограмма 20 видов конфет. Определить, сколько стоят самые дешевые конфеты.

Создать отчет - список продукции от каждого производителя
Добрый день! Есть база данных &quot;Каталог смартфонов и планшетов&quot;. Есть таблицы: производители, планшеты, смартфоны. Надо сделать отчет: ...

Массив структур: одежда, вывести количество продукции каждого производителя
На рынок поступает продукция от 3 производителей верхняя женская, верхняя мужская, легкий женский легкий мужской. Каждой продукт имеет...

Определить, сколько стоит 1 кг шоколадных конфет, 1 кг ирисок, а также во сколько раз шоколадные конфеты дороже ирисок
12. Известно, что X кг шоколадных конфет стоит A рублей, а Y кг ирисок стоит B рублей. Определить, сколько стоит 1 кг шоколадных конфет, 1...

Из номера изделия, состоящего из 6 цифр, получить месяц, год и партию
Разработать функцию, которая принимает серийный номер изделия, состоящий из 6 цифр, и с помощью параметров возвращает указатели на месяц,...


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

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
Вывод данных через динамический список в справочнике
Maks 01.04.2026
Реализация из решения ниже выполнена на примере нетипового справочника "Спецтехника" разработанного в конфигурации КА2. Задача: вывести данные из ТЧ нетипового документа. . .
Функция заполнения текстового поля в реквизите формы документа
Maks 01.04.2026
Алгоритм из решения ниже реализован на нетиповом документе "ВыдачаОборудованияНаСпецтехнику" разработанного в конфигурации КА2, в дополнении к предыдущему решению. На форме документа создается. . .
К слову об оптимизации
kumehtar 01.04.2026
Вспоминаю начало 2000-х, университет, когда я писал на Delphi. Тогда среди программистов на форумах активно обсуждали аккуратную работу с памятью: нужно было следить за переменными, вовремя. . .
Идея фильтра интернета (сервер = слой+фильтр).
Hrethgir 31.03.2026
Суть идеи заключается в том, чтобы запустить свой сервер, о чём я если честно мечтал давно и давно приобрёл книгу как это сделать. Но не было причин его запускать. Очумелые учёные напечатали на. . .
Модель здравосоХранения 6. ESG-повестка и устойчивое развитие; углублённый анализ кадрового бренда
anaschu 31.03.2026
В прикрепленном документе раздумья о том, как можно поменять модель в будущем
10 пpимет, которые всегда сбываются
Maks 31.03.2026
1. Чтобы, наконец, пришла маршрутка, надо закурить. Если сигарета последняя, маршрутка придет еще до второй затяжки даже вопреки расписанию. 2. Нaдоели зима и снег? Не надо переезжать. Достаточно. . .
Перемещение выделенных строк ТЧ из одного документа в другой
Maks 31.03.2026
Реализация из решения ниже выполнена на примере нетипового документа "ВыдачаОборудованияНаСпецтехнику" с единственной табличной частью "ОборудованиеИКомплектующие" разработанного в конфигурации КА2. . . .
Functional First Web Framework Suave
DevAlt 30.03.2026
Sauve. IO Апнулись до NET10. Из зависимостей один пакет, работает одинаково хорошо как в режиме проекта так и в интерактивном режиме. из сложностей - чисто функциональный подход. Решил. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru