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

Сортировка

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

Студворк — интернет-сервис помощи студентам
Не могу сделать сортировку элементами Food по калорийности.
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
package com.company;
 
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.*;
 
abstract class Product {
 
    public Long ean;
    public Double price;
    public String name, type;
 
    public Product (String type,String name, Double price, Long ean) {
        this.name = name;
        this.type = type;
        this.price = price;
        this.ean = ean;
    }
    public String getType(){
        return type;
    }
    public String getName() {
        return name;
    }
    public Double getPrice() {
        return price;
    }
    public Long getEan() {
        return ean;
    }
 
 
}
 
    class Food extends Product {
 
        private int cal;
        private Date creationDate;
        private int expirationTime;
 
        public Food(String type,String name, Double price, Long ean, int cal, Date creationDate, int expirationTime) {
            super(type,name, price, ean);
            this.cal = cal;
            this.creationDate = creationDate;
            this.expirationTime = expirationTime;
        }
 
        public String getName() {
            return name;
        }
 
        public int getCal() {
            return cal;
        }
 
        public Date getCreationDate() {
            return creationDate;
        }
 
        public int ExpirationTime() {
            return expirationTime;
        }
 
 
        public String toString() {
            return type+": "+name+", "+price+", "+ean+", "+cal+", "+creationDate+", "+expirationTime;
        }
    }
 
class Appliance extends Product{
 
    private int inputPower;
 
    public Appliance(String type,String name, Double price, Long ean, int inputPower) {
        super(type,name, price, ean);
        this.inputPower = inputPower;
    }
    public String toString() {
        return type+": "+name+", "+price+", "+ean+", "+inputPower;
    }
 
    public int getInputPower() {
        return inputPower;
    }
 
}
 
class Clothes extends Product{
 
    private byte size;
    private String material;
 
    public Clothes(String type,String name, Double price, Long ean, byte size, String material) {
        super(type,name, price, ean);
        this.material = material;
        this.size = size;
    }
    public String toString() {
        return type+": "+name+", "+price+", "+ean+", "+size+", "+material;
    }
 
    public byte getSize() {
        return size;
    }
 
    public String getMaterial() {
        return material;
    }
}
 
class warehouse {
    public static void main(String[] args) throws ParseException {
        Scanner input = new Scanner(System.in);
 
        SimpleDateFormat Date = new SimpleDateFormat("dd.MM.yyyy");
 
        String SCzCh = "28.06.2019";
        Date SC = Date.parse(SCzCh);
 
        String Slosos = "30.06.2019";
        Date SL = Date.parse(Slosos);
 
        String Ekler = "29.06.2019";
        Date El = Date.parse(Ekler);
 
        String Borsh = "30.06.2019";
        Date Bs = Date.parse(Borsh);
 
        String Cake = "27.06.2019";
        Date Ck = Date.parse(Cake);
 
        Product[] warehouse = {
                new Food("Food", "Салат Цезарь с курицей", 250.0, 9031101L, 370, SC, 4),
                new Food("Food", "Сандвич с лососем", 40.0, 9043243L, 494, SL, 2),
                new Food("Food", "Эклер", 150.0, 9054324L, 236, El, 5),
                new Food("Food", "Борщ", 250.0, 9045435L, 679, Bs, 4),
                new Food("Food", "Медовик", 126.0, 9042353L, 1534, Ck, 29),
                new Appliance("Appliance", "Тостер", 1990.0, 2054355L, 850),
                new Appliance("Appliance", "Холодильник", 15000.0, 2043242L, 400),
                new Appliance("Appliance", "Блендер", 4299.0, 2033254L, 600),
                new Appliance("Appliance","Стиральная машина", 18299.0,2036554L,700),
                new Appliance("Appliance","Электрический чайник", 1290.0,2032255L,1200),
                new Clothes("Clothes", "Футболка", 500.0, 3024334L, (byte) 50, "Хлопок"),
                new Clothes("Clothes", "Свитшот", 800.0, 3054332L, (byte) 55, "Полиэстр"),
                new Clothes("Clothes", "Кимоно", 1400.0, 3054345L, (byte) 70, "Хлопок"),
                new Clothes("Clothes","Пальто", 3400.0, 3054345L,(byte)60,"Нейлон"),
                new Clothes("Clothes","Жилет", 2400.0, 3054645L,(byte)55,"Бархат"),
        };
}
}
По одиночным и с двумя я делал, но не понимаю как отдельно их можно сортировать.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
04.07.2019, 18:18
Ответы с готовыми решениями:

Русская сортировка половинами (в простонародье сортировка Таноса)
Добрый день! Недавно начал изучать язык Java и столкнулся с сортировками. Заинтересовала русская сортировка половинами (а-ля сортировка...

Сортировка вставками или пузырьковая сортировка?
Здравствуйте! Подскажите пожалуйста, правильно ли что это код сортировки вставками или же это пузырьковая сортировка? for(int...

Быстрая сортировка и сортировка Шелла
есть трудности с быстрой сортировкой и сортировкой Шелла также нужен их сравнительный анализ

7
Автоматизируй это!
Эксперт Python
 Аватар для Welemir1
7390 / 4817 / 1246
Регистрация: 30.03.2015
Сообщений: 13,667
Записей в блоге: 29
04.07.2019, 18:38
Цитата Сообщение от MaFros Посмотреть сообщение
public Long ean;
* * public Double price;
* * public String name, type;
если все публично, то зачем геттеры?

Цитата Сообщение от MaFros Посмотреть сообщение
public int ExpirationTime()
методы в джава с маленькой буквы

Цитата Сообщение от MaFros Посмотреть сообщение
class warehouse {
классы всегда с большой буквы
Цитата Сообщение от MaFros Посмотреть сообщение
Scanner input = new Scanner(System.in);
зачем? нигде не используется

Цитата Сообщение от MaFros Посмотреть сообщение
SimpleDateFormat Date =
переменные тоже с маленькой буквы

Food можно так отсортировать (на основе твоего примера)
Java
1
2
3
4
5
6
7
8
9
Food[] warehouse = {
                new Food("Food", "Салат Цезарь с курицей", 250.0, 9031101L, 370, SC, 4),
                new Food("Food", "Сандвич с лососем", 40.0, 9043243L, 494, SL, 2),
                new Food("Food", "Эклер", 150.0, 9054324L, 236, El, 5),
                new Food("Food", "Борщ", 250.0, 9045435L, 679, Bs, 4),
                new Food("Food", "Медовик", 126.0, 9042353L, 1534, Ck, 29)
        };
        Arrays.sort(warehouse, Comparator.comparingInt(Food::getCal));
        Arrays.asList(warehouse).forEach(System.out::println);
если нужно прямо в старом стиле компаратор написать, то отвечать будет Гунгала или Алиса)
1
0 / 0 / 0
Регистрация: 16.10.2018
Сообщений: 46
04.07.2019, 18:57  [ТС]
Welemir1, Спасибо за ответ и критику), необходимая для новичка.
0
Автоматизируй это!
Эксперт Python
 Аватар для Welemir1
7390 / 4817 / 1246
Регистрация: 30.03.2015
Сообщений: 13,667
Записей в блоге: 29
04.07.2019, 19:13
MaFros, тебя устроил мой ответ?...по идее не должен, ведь вот это ты не понял
Цитата Сообщение от Welemir1 Посмотреть сообщение
Comparator.comparingInt(Food::getCal)
я думал ты подождешь наших активистов с простыми вариантами
0
0 / 0 / 0
Регистрация: 16.10.2018
Сообщений: 46
04.07.2019, 19:33  [ТС]
Welemir1, Ну конечно создание отдельного массива слегка не устроил. Ну и совсем не обязательно принудительно вот это делать
Java
1
Comparator.comparing   INT
.
0
 Аватар для _Vladimir_
57 / 55 / 10
Регистрация: 27.07.2010
Сообщений: 279
04.07.2019, 19:52
Welemir1, сказал "А" - говори "Б". В дополнение к твоему примеру человеку надо еще рассказать о важности переопределения методов equals и hashCode ))
0
Эксперт Java
3639 / 2971 / 918
Регистрация: 05.07.2013
Сообщений: 14,220
04.07.2019, 20:41
_Vladimir_, сказал а -говори б, расскажи, почему же это важно и приведи пример
0
528 / 263 / 70
Регистрация: 11.12.2016
Сообщений: 1,223
04.07.2019, 22:43
Важность переопределения equals() и hashCode() зависит от логики работы. Причем equals() - определение эквивалентности объектов за нашей логикой, а hashCode() - за "внутренней" логикой остального java environments.
https://dzone.com/articles/wor... ls-in-java
По идее тут не надо ничего переопределять, но последнее слово за постановкой задачи ТСа.
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
04.07.2019, 22:43
Помогаю со студенческими работами здесь

Сортировка
Написал программу которое сортирует текст в алфавитном порядке, но не понимаю как сделать, чтобы не учитывался регистр и сортировалось по...

Сортировка
Всем привет.Помогите до конца разобраться..есть метод: public static void sort(String array) { //напишите тут ваш код...

Сортировка
Как написать программу для сортировки слов текста, сохраненного в файле, по алфавиту методом прямой вставки? Я начал так ...

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

Сортировка
Добрый день , как отсортировать вот такой arrayList ? List<LastString> hyphen= new ArrayList<>(); В LastString помещаю слово и длину...


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

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь постоянного тока с R, L, C, k(ключ), U, E, J. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа, решает её и находит переходные токи и напряжения на элементах схемы. . . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Сукцессия микоризы: основная теория в виде двух уравнений.
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