Форум программистов, компьютерный форум, киберфорум
Java SE (J2SE)
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.90/131: Рейтинг темы: голосов - 131, средняя оценка - 4.90
0 / 0 / 0
Регистрация: 07.03.2010
Сообщений: 34

Телефонный справочник

14.12.2011, 11:17. Показов 25200. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый день, подскажите как создать ТС из 50 записей, с возможностью добавления, изменений, удаления и редактирования данных.
Записи справочника содержат поля:
Индетификационный номер, номер телефона, ФИО владельца, адрес.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
14.12.2011, 11:17
Ответы с готовыми решениями:

Телефонный справочник
Нужно создать телефонный справочник в виде Hashmapa с добавлением/удалением элементов и т.д., элементы должны вводиться с клавиатуры, вся...

Телефонный справочник
Пишу телефонный справочник. После того как написал метод print, java кидает "Exception in thread "main"...

Программа Телефонный справочник
Стр. 185. Г. Шилдт: Как пользоваться аргументами командной строки. Для лучшего понимания пользования аргументами командной строки - ...

4
 Аватар для lemegeton
4903 / 2696 / 921
Регистрация: 29.11.2010
Сообщений: 5,783
15.12.2011, 13:45
Создаешь immutable класс записи, который хранит одну запись ТС с полями "Индетификационный номер, номер телефона, ФИО владельца, адрес".
Создаешь класс ТС, который включает в себя коллекцию Map объектов класса записи. Ключом является идентификатор, значением -- сам класс.
Добавляешь в последний класс методы для получения, добавления, изменения и удаления записей в коллекции.

Ограничить пятьюдесятью записями можно искусственно при добавлении.
0
0 / 0 / 0
Регистрация: 07.03.2010
Сообщений: 34
15.12.2011, 18:16  [ТС]
к сожалению не знаю, а можете помочь или кинуть ссылку где про это прочить можно?...
0
 Аватар для lemegeton
4903 / 2696 / 921
Регистрация: 29.11.2010
Сообщений: 5,783
16.12.2011, 00:32
Цитата Сообщение от assams Посмотреть сообщение
к сожалению не знаю
"Не знаю" что именно?
Цитата Сообщение от assams Посмотреть сообщение
кинуть ссылку где про это прочить можно?
"Про это" это про что?
Цитата Сообщение от assams Посмотреть сообщение
а можете помочь
Каким образом?
Ну вот тебе два класса -- "запись" и "телефонная книга", с помощью которых можно реализовать твою задачу. Маленький пример прилагается.
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
package tutorial0001;
 
import java.io.Serializable;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import org.w3c.dom.ranges.RangeException;
 
 
 
class Record implements Serializable, Cloneable {
    private final long id;
    private String phone;
    private String name;
    private String address;
    Record(long id, String phone, String name, String address) {
        this.id = id;
        this.phone = phone;
        this.name = name;
        this.address = address;
    }
    @Override
    public String toString() {
        return name + ": " + phone + ", " + address;
    }
    @Override
    public boolean equals(Object obj) {
        if (obj == null) {
            return false;
        }
        if (getClass() != obj.getClass()) {
            return false;
        }
        final Record other = (Record) obj;
        if ((this.phone == null) ? (other.phone != null) : !this.phone.equals(other.phone)) {
            return false;
        }
        if ((this.name == null) ? (other.name != null) : !this.name.equals(other.name)) {
            return false;
        }
        if ((this.address == null) ? (other.address != null) : !this.address.equals(other.address)) {
            return false;
        }
        return true;
    }
    @Override
    public int hashCode() {
        int hash = 7;
        hash = 61 * hash + (int) (this.id ^ (this.id >>> 32));
        hash = 61 * hash + (this.phone != null ? this.phone.hashCode() : 0);
        hash = 61 * hash + (this.name != null ? this.name.hashCode() : 0);
        hash = 61 * hash + (this.address != null ? this.address.hashCode() : 0);
        return hash;
    }
    @Override
    public Object clone() throws CloneNotSupportedException {
        return super.clone();
    }
    public long getId() {
        return id;
    }
    public String getPhone() {
        return phone;
    }
    public String getName() {
        return name;
    }
    public String getAddress() {
        return address;
    }
}
 
class AddressBook {
    private Map<Long, Record> records = new HashMap<Long, Record>();
    private long nextId;
    private long getNextId() {
        if (nextId < Long.MAX_VALUE && !records.containsKey(nextId))
            return nextId++;
        nextId = 0;
        while (nextId < Long.MAX_VALUE) {
            if (!records.containsKey(nextId))
                return nextId;
            ++nextId;
        }
        throw new RangeException((short)111, "No more IDs availiable");
    }
    public Record addRecord(String phone, String name, String address) 
        throws CloneNotSupportedException {
        long recordId = getNextId();
        Record record = new Record(recordId, phone, name, address);
        records.put(recordId, record);
        return (Record)record.clone();
    }
    public Record getRecord(long id) throws CloneNotSupportedException {
        if (records.containsKey(id))
            return (Record)records.get(id).clone();
        return null;
    }
    public Record updateRecord(long id, String phone, String name, String address)
        throws CloneNotSupportedException {
        Record record = new Record(id, phone, name, address);
        records.put(id, record);
        return getRecord(id);
    }
    public void removeRecord(long id) {
        records.remove(id);
    }
    public List<Record> allRecords() {
        List<Record> result = new ArrayList<Record>();
        for (Record record : this.records.values())
            result.add(record);
        return result;
    }
}
 
public class Tutorial0001 {
    public static void main(String[] args) throws CloneNotSupportedException {
        AddressBook addressBook = new AddressBook();
        addressBook.addRecord("123-11-32", "Иван Иванов", "ул. Ленина, 3");
        addressBook.addRecord("883-47-21", "Петр Петров", "пр. Мира");
        addressBook.addRecord("919-41-85", "Николай Николаев", "пер. Славы");
        System.out.println(addressBook.allRecords());
    }
}
2
0 / 0 / 0
Регистрация: 07.03.2010
Сообщений: 34
16.12.2011, 18:35  [ТС]
Благодарю)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
16.12.2011, 18:35
Помогаю со студенческими работами здесь

Телефонный справочник в виде БД (текстовый файл) и поиск по нему
поставил задачу создать подобие электронного справочника, база фамилий и телефонов в текстовом файле. В процессе застрял и возникли...

Справочник по Java SE
Подскажите пожалуйста хороший справочник по Java например такой как этот http://www.cplusplus.com/reference/ что-бы там было описание...

Создать справочник
Создать справочник (минимум 5 человек с адресами) . программа должна выводить данные о человеке по его фамилии или текст &quot; No data...

Класс-справочник
Разработать класс-справочник, содержащий набор объектов соответствующей предметной области : справочник расстояний до областных центров ...

Справочник по J2SE
У кого-то есть справочник по J2SE на русском? формат не важен


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru