|
0 / 0 / 0
Регистрация: 10.04.2015
Сообщений: 105
|
|
Generics Java09.11.2015, 10:57. Показов 1215. Ответов 15
Метки нет (Все метки)
Добрый день всем!
У меня есть лабораторная работа по JAVA “Работа с Jenericami” 1. Есть определенный класс допустим Class City в котором есть поля: String название города; String страна; Double население: Конструктор данного класса получает String откуда и берет данные для иниц. Своих полей Пример “ Moscow Russia 10.9 “ String название города = Moscow; И тд. Также в этом классе будет метод cmp Int cmp( Class City){} который будет сравнивать два обьекта класса City String toString() И тд. Таких классов может быть сколько угодно ( к примеру класс Сar, mobilePhone, colors, byke, Appartaments и тд) У каждого из этих классов будут конечно свой поля и не обязательно (String, String , int как в классе City) Единственно что у них общее это их структура. То есть набор методов будет у всех одинаковый ( cmp(), toString() и тд) и конструктор на вход у которого String и которого будут инициироваться все поля по примеру classa City. Надо создать class Table у которого есть параметр <T> T- может быть любым их этих классов ( Сity ,Сar, mobilePhone, colors, byke, Appartaments и тд) Class Table <T>{ } У этого класса есть метод read() который считывает из Text.txt строки типа “Moscow Russia 10.9” и создает объекты того или иного класса ( Сity ,Сar, mobilePhone, colors, byke, Appartaments и тд) Дело в том что с этими объектами надо будут потом работать ( в основном сравнивать) То есть int k=T[i].cmp(T[j]); То есть вся обработка данный в таблице Table будет через <T> ему надо только прицепить список метод (который одинаков для всех классов Сity ,Сar, mobilePhone, colors, byke, Appartaments и тд) Проблема следующая у меня У меня есть Class Table <T> { ArrayList<T> List=new ArrayList<T>(); В лист думал сохранять все объекты класса <T> } Когда начал считывать строки с txt файла то понял что не смогу создать объект типа <T> Допустим прочитал строку String st=“ Moscow Russia 10.9 “ T temp=new T (“ Moscow Russia 10.9 “); это вариант не проходит Думал добавить temp в List и таким образом собрать все объекты в LIST То есть Table<City> tb=new Table <City> (String File_name); tb.read(); Помощь нужна именно с точки зрения дженериков как это все сделать . Что касается прочитать фаил или инициализировать поля classa из String я разобрался. Заранее спасибо.
0
|
|
| 09.11.2015, 10:57 | |
|
Ответы с готовыми решениями:
15
Использование одного интерфейса для нескольких ответов (<generics> ) Какую версию Java поддерживает .Net Java# И какую VS6.0 Java++ ? |
|
2399 / 2224 / 565
Регистрация: 28.12.2010
Сообщений: 8,672
|
||
| 09.11.2015, 11:37 | ||
|
VladV, какая то у вас архитектура программы кривая.
Ну и непонятно зачем тут дженерики. Это задание больше подходит для интерфейсов. Добавлено через 26 секунд Покажите текст задания
0
|
||
|
0 / 0 / 0
Регистрация: 10.04.2015
Сообщений: 105
|
|||||||||||||||||||||
| 09.11.2015, 11:56 [ТС] | |||||||||||||||||||||
|
задание в С++ и есть весь код мы всей группой решили писать на JAVA. Код С++ использует женерики. Когда столнулись с женириками на JAVA все дружно застряли
![]()
0
|
|||||||||||||||||||||
|
2399 / 2224 / 565
Регистрация: 28.12.2010
Сообщений: 8,672
|
|
| 09.11.2015, 11:59 | |
|
VladV, на каком языке написанно решение роли не играет. Судя по вашему описанию архитектура неподходит для дженериков поэтому я попросил текст задания. Читать кучу кода на С++ нет никакого желания.
0
|
|
|
0 / 0 / 0
Регистрация: 10.04.2015
Сообщений: 105
|
|
| 09.11.2015, 13:09 [ТС] | |
|
Скему напишите как все это черех женерики написать
0
|
|
|
2399 / 2224 / 565
Регистрация: 28.12.2010
Сообщений: 8,672
|
|||
| 09.11.2015, 16:53 | |||
|
Добавлено через 1 минуту
0
|
|||
|
0 / 0 / 0
Регистрация: 10.04.2015
Сообщений: 105
|
|
| 09.11.2015, 17:12 [ТС] | |
|
Задание как бы то что я написал выше.
Есть параметризрванный класс Class Table <T> T - Это разаные классы с одинаковой структурой ( методы теже) поля могут разный и по количеству и по типу. В классе Table coздаются обьекты данного класса ( Нужно показать void show() {}) Эти обиепкты нужно чтобы на основе их изучть алгоритмы сортировки( Buble Sort, Quik sort, Insertion Sort и тп) У меня class City { String City_name String Country; int Foundation_year; boolean Capital; double Population; } У колег к примеру Class Car, Class Phone, Class Appartament и тд Class Table <T> должен работыть с Любым типом ( Class City , Class Car, Class Phone, Class Appartament и тд)
0
|
|
|
2399 / 2224 / 565
Регистрация: 28.12.2010
Сообщений: 8,672
|
|||
| 09.11.2015, 17:20 | |||
|
0
|
|||
|
0 / 0 / 0
Регистрация: 10.04.2015
Сообщений: 105
|
|||||||||||||||||||||
| 09.11.2015, 18:12 [ТС] | |||||||||||||||||||||
|
Допустим есть три класса
В котором есть методы Void read() из .TXT Void show () показывает таблицу с обьктами Void bubble sort() Void quicksort() Void InsertionSort() Void heapSort() И тд…… То есть сортировать будем по названию городу или + страны + год ( это для City) У меня ключ состоит из 3 колонок поэтому int cmp () соотсественно У когото ключ таблицы может быть только с одной колонкой или 2 Не важно так как в классе Table( работатет только с int cmp() а что внутри не важно) Int cmp() возвращает 1 или -1 или 0 (1 обьект больше, -1 обьект меньше, 0 равны) Int cmp() нужен для сравнения обьектов ведь сорторивки это в приницципе сравнения. Теперь надо так написать class Table что бы он работал с любым типом данных Что то типа того
0
|
|||||||||||||||||||||
|
53 / 53 / 39
Регистрация: 05.12.2010
Сообщений: 261
|
|
| 09.11.2015, 18:29 | |
|
Ваш код и текст нечитабелен. Пользуйтесь тегами для оформления как кода (окружите код тегами [javа] ... [/java]) и сделайте табуляцию.
0
|
|
|
2399 / 2224 / 565
Регистрация: 28.12.2010
Сообщений: 8,672
|
|||||||
| 09.11.2015, 20:24 | |||||||
|
Вам надо определить интерфейс (скажем MyInterface) с методами read(); show(); bublesort(); Ваши классы City Appartament и.т.д должны имплементировать этот интерфейс Затем описать класс Table как
0
|
|||||||
|
0 / 0 / 0
Регистрация: 10.04.2015
Сообщений: 105
|
|
| 09.11.2015, 20:54 [ТС] | |
|
А зачем классу City к примеру метод show() ? class Table cобирает через read () все обькты в ArrayList <City> List = new ArrayList <City>(); а потом через show() выводит на консоль в виде таблицы где сторока это один обьект класса City
0
|
|
|
2399 / 2224 / 565
Регистрация: 28.12.2010
Сообщений: 8,672
|
|
| 09.11.2015, 23:38 | |
|
VladV, я в ваш код не вдавался и привел пример. Если думаете что какой-то метод ненужен, не реализовывайте.
0
|
|
|
0 / 0 / 0
Регистрация: 10.04.2015
Сообщений: 105
|
|
| 09.11.2015, 23:55 [ТС] | |
|
Методы read, show ,buble_sort это методы class Table и он начинает с ними работать только когда уже есть 40-50 обьектов типа <T> ---> ( City , Appartament, Car, Phone ....... )
общее что есть у ( City , Appartament, Car, Phone ....... ) это метод int cmp(), String to srting ()..... Теперь немного о самих женериках 1. Так как я не делал посредством женериков данную задачу то у меня была следуая схема a. ecть ArrayList<City> List=new ArrayList<City> (); ---- поле класса Table 2. В методе read() был цикл while который пробегал по всемс строкам file.txt и каждю строку (String ) передавал в конструктор обьекта City while{ String St=Sc.nextLine(); City temp=new City(St); List.add(temp); } таким образом я в контаинир кидал 20-50 oбектов Сity и далее уже этоm List уже обрабатывался либо давался на печать в show() либо на сортировки BubbleSort(), InsertortioSort(), QuikSort(), HeapSort()....... где единственое что нужно было это cmp() из oбекта Сity а теперь получается <T>. Вопрос ! как все это сделать учитывая что T temp=new T(St) вместо City temp=new City(St); не проходит
0
|
|
|
2399 / 2224 / 565
Регистрация: 28.12.2010
Сообщений: 8,672
|
|
| 10.11.2015, 00:47 | |
|
VladV, я вам выше сказал как делать. Какой смысл ещё раз повторять если вы не слушаете.
0
|
|
| 10.11.2015, 00:47 | |
|
Помогаю со студенческими работами здесь
16
Посоветуйте примеры кода по Java. Теория прочтена, но с языком Java не знакома При работе JVM обвалвается java c кодом Java Result 1073807364. Актуально ли изучать java сейчас по книге, где примеры в java 5? Хочу стать Java программистом, здесь есть Java программисты? Какие шаги предпринять для овладения java и какую среду java посоветуете? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Автозаполнение реквизита при выборе элемента справочника
Maks 27.03.2026
Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2.
При выборе "Спецтехники" (Тип Справочник. Спецтехника), заполняется. . .
|
Сумматор с применением элементов трёх состояний.
Hrethgir 26.03.2026
Тут.
https:/ / fips. ru/ EGD/ ab3c85c8-836d-4866-871b-c2f0c5d77fbc
Первый документ красиво выглядит, но без схемы.
Это конечно не даёт никаких плюсов автору, но тем не менее. . . всё может быть. . .
|
Автозаполнение реквизитов при создании документа
Maks 26.03.2026
Программный код из решения ниже размещается в модуле объекта документа, в процедуре "ПриСозданииНаСервере".
Алгоритм проверки заполнения реализован для исключения перезаписи значения реквизита,. . .
|
Команды формы и диалоговое окно
Maks 26.03.2026
1. Команда формы "ЗаполнитьЗапчасти".
Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2.
В качестве источника данных. . .
|
|
Кому нужен AOT?
DevAlt 26.03.2026
Решил сделать простой ланчер
Написал заготовку:
dotnet new console --aot -o UrlHandler
var items = args. Split(":");
var tag = items;
var id = items;
var executable = args;. . .
|
Отправка уведомления на почту при изменении наименования справочника
Maks 24.03.2026
Программная отправка письма электронной почты на примере изменения наименования типового справочника "Склады" в конфигурации БП3. Перед реализацией необходимо выполнить настройку системной учетной. . .
|
модель ЗдравоСохранения 5. Меньше увольнений- больше дохода!
anaschu 24.03.2026
Теперь система здравосохранения уменьшает количество увольнений.
9TO2GP2bpX4
a42b81fb172ffc12ca589c7898261ccb/
https:/ / rutube. ru/ video/ a42b81fb172ffc12ca589c7898261ccb/
Слева синяя линия -. . .
|
Midnight Chicago Blues
kumehtar 24.03.2026
Такой Midnight Chicago Blues, знаешь?. .
Когда вечерние улицы становятся ночными, а ты не можешь уснуть. Ты идёшь в любимый старый бар, и бармен наливает тебе виски. Ты смотришь на пролетающие. . .
|