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

Сортировка по дате и времени (оба поля string)

22.11.2014, 14:56. Показов 8839. Ответов 1
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый день, знаю, есть похожие темы, но я все никак не могу понять этот компаратор и т.д. в яве. А лабораторную сдавать надо. Задание такое - отсортировать список по дате и времени. У меня дата и время это String.

вот класс, в котором есть поля дата и время, которые наследуются другими классами (Birthday,Meeting,Custom).
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
package laba5.polimorf;
 
public class Event extends Note{
    String дата;
    String время;
    public Event(String дата, String время) {
        super();
        this.дата = дата;
        this.время = время;
    }
    public String getДата() {
        return дата;
    }
    public void setДата(String дата) {
        this.дата = дата;
    }
    public String getВремя() {
        return время;
    }
    public void setВремя(String время) {
        this.время = время;
    }
    @Override
    public String toString() {
        return "Событие: дата=" + дата + ", время=" + время;
    }
}

вот класс в котором метод 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
package laba5.polimorf;
 
import java.util.ArrayList;
import java.util.*;
 
public class Note {
    static ArrayList<Event> события = new ArrayList<Event>(); //ГЛАВНЫЙ СПИСОК ВСЕХ СОБЫТИЙ КОТ.НУЖНО //// СОРТИРОВАТЬ
    
    public static void main(String[] args){
        Add();
        //Show();
        Sort();
    }
    static void Add(){
        Birthday b = new Birthday("12.15.2014", "15:00","Ваня", "Городской парк", "30");
        Meeting c = new Meeting("12.17.2014","12:05","Федя","Ленина 25,д34");
        Custom d = new Custom("07.05.2013","23:22","Просто записка");
        Birthday e = new Birthday("10.18.2013", "15:00","Ваня", "Городской парк", "30");
        события.add(b);
        события.add(e);
        события.add(c);
        события.add(d);
        
    }
    static void Show(){
        System.out.println(события);
    }
    
    static void Sort(){
           Collections.sort(события, new MyComparator());
            for (Event события : события) {
                System.out.println(события);
            }
      }         
}
вот мой класс сравнивальщика =)

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
package laba5.polimorf;
 
import java.util.Comparator;
 
class MyComparator implements Comparator<Event> {
@Override
public int compare(Event o1, Event o2) {
    
    if (Integer.parseInt(o1.getДата().substring(6,10)) > Integer.parseInt(o2.getДата().substring(6,10))) {
            return -1;
      
    } else if (Integer.parseInt(o1.getДата().substring(6,10)) < Integer.parseInt(o2.getДата().substring(6,10))) {
            return 1;
    }
    return 0;
}
}
С горем пополам делает сортировку по году (беру последние 4 символа и сравниваю как int) но чую я в тупике тк если пытаюсь сравнивать по месяцу путем && substring(3,5) то уже ничего не выходит, ну и дальше смысла нет сравнивать по дню. А еще же нужно сравнить время! Я в панике, помогите пожалуйста решить задачку.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
22.11.2014, 14:56
Ответы с готовыми решениями:

Сортировка по дате и времени
Здравствуйте! Такая проблема: у меня есть таблица из 3х столбцов: Название фильма, дата показа, время показа. Надо отсортировать данные и...

Сортировка в БД по дате и времени
Добрый день. Я только начинаю изучать PHP и MySql. Не получается отсортировать записи из БД, прошу Вашей помощи. В чем ошибка, помогите...

Сортировка строк по дате и времени
Привет всем. Подскажите, нигде не могу инфу найти. Как грамотно упорядочить строки, к примеру, в порядке возрастания даты ? И как это же...

1
 Аватар для ne2win
206 / 206 / 71
Регистрация: 25.02.2014
Сообщений: 569
22.11.2014, 23:45
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
String date1 = "12.15.2014"; String time1 = "16:43";
     String date2 = "12.16.2014"; String time2 = "16:00";
     
     String[] d1 = date1.split("\\.");
     String[] d2 = date2.split("\\.");
     
     String[] t1 = time1.split(":");
     String[] t2 = time2.split(":");
     
     GregorianCalendar calendar1 = new GregorianCalendar(Integer.parseInt(d1[2]), Integer.parseInt(d1[0]), Integer.parseInt(d1[1]),Integer.parseInt(t1[0]),Integer.parseInt(t1[1]));
     GregorianCalendar calendar2 = new GregorianCalendar(Integer.parseInt(d2[2]), Integer.parseInt(d2[0]), Integer.parseInt(d2[1]),Integer.parseInt(t2[0]),Integer.parseInt(t2[1]));
     
     
     System.out.println(calendar1.compareTo(calendar2));
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
22.11.2014, 23:45
Помогаю со студенческими работами здесь

Сортировка изображений по дате и времени
Возможно ли реализовать сортировку загруженных изображений (form / input type file / php) по дате и времени без БД?

Сортировка в таблице ADOQuery1 по дате и времени
Доброго времени суток! Подскажите плиз чайнику, как мне сделать фильтр в запросе ADOQuery1 для выбора записей по дате и времени,...

Сортировка по дате и редактирования поля
Есть dbgrid и ttable есть поле типа date, вопрос, как сделать, чтоб при запуске программы, данные отображали только сегодняшнего дня,...

Сортировка в запросе по дате\времени с сохранением форматирования
Как в этом запросе можно сделать сортировку по убыванию по дате-времени? SELECT chat_identifier, datetime(date/1000000000 +...

Сортировка дат в массиве. Определение времени года по дате
В новой книге заполнить столбец А на 10 строк случайными датами. Создать массив типа Date (дата). Считать в массив все даты из столбца А....


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru