Форум программистов, компьютерный форум, киберфорум
Java SE (J2SE)
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.88/75: Рейтинг темы: голосов - 75, средняя оценка - 4.88
2 / 2 / 3
Регистрация: 11.04.2016
Сообщений: 94

Создать класс с полями, конструктор с параметрами

21.12.2016, 18:12. Показов 13764. Ответов 1
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Создать класс Пользователь с полями: логин, пароль, идентификатор
(поля закрыты, доступ к полям через методы); конструктор с параметрами,
задающий значения всех полей. Переопределить метод public String toString()
чтобы он выводил информацию о пользователе в следующем виде: «Пользователь
№ идентификатор: логин». В целях безопасности, в классе будет храниться не
исходный пароль, а результат его шифрования. Следовательно, необходим метод
ciphrIt(пароль) – шифрующий пароль.

Создать класс UsersList, хранящий набор элементов класса Пользователь в
поле myList типа массив. Поле myList закрытое, доступ к нему – через методы
getUsers, addUsers. Метод addUsers(Пользователь), добавляет пользователя в
myList, при попытке добавления пользователя с существующим логином –
выбрасывать исключение. Создать метод delUser(Пользователь), удаляющий
заданного пользователя, при попытке удаления из пустого массива – выбрасывать
исключение. Создать метод boolean findById(идентификатор), возвращающий true
при нахождении в массиве пользователя с заданным идентификатором, в
противном случае, возвращать false.
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
21.12.2016, 18:12
Ответы с готовыми решениями:

Создать класс, Создать конструктор с параметрами
Создать класс «Взлетная полоса» с полями isFree – свободна ли полоса, isBusy – происходит посадка на полосу или взлет с полосы. Создать...

Создать класс. Написать конструктор по умолчанию, конструктор с параметрами. Перегрузить операции «меньше» и «равно»
Помогите пожалуйста, хоть с одним из заданий. 1. Создать класс. Написать конструктор по умолчанию, конструктор с параметрами....

Создать класс Demo с полями int a, double y, используя конструктор
Создать класс Demo с полями int a, double y, используя конструктор, позволяющий присваивать разные значения полю y экземплярам класса a и...

1
58 / 57 / 47
Регистрация: 31.10.2016
Сообщений: 182
21.12.2016, 23:43
Лучший ответ Сообщение было отмечено ElenaCh как решение

Решение

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
package someproject;
 
import static someproject.UsersList.addUser;
import static someproject.UsersList.delUser;
import static someproject.UsersList.findById;
import static someproject.UsersList.getUser;
 
public class Main {
    
    public static void main(String[] args) {
        addUser("A3IPIB", "123456", "SU000001");
        addUser("ElenaCh", "9876543", "SU000002");
        addUser("A3IPIB", "7654372", "SU000003");//проверяем защиту от добавление пользователя с существуюим логином
        System.out.println(getUser("A3IPIB"));
        System.out.println(getUser("ElenaCh"));
        System.out.println(findById("SU000002"));
        delUser("A3IPIB");
        System.out.println(getUser("A3IPIB"));
        System.out.println(getUser("ElenaCh"));
        delUser("ElenaCh");
        delUser("ElenaCh");//проверяем защиту от удаления пользователя из пустого списка
    }
    
}

User
Кликните здесь для просмотра всего текста
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
package someproject;
 
public class User {
    private String login;//логин
    private String password;//пароль
    private String id;//идентификатор
    
    //конструктор
    User(String login, String password, String id) {
        this.login = login;
        this.password = ciphrIt(password);
        this.id = id;
    }
    
    //возвращает логин
    public String getLogin() {
        return this.login;
    }
    
    //возвращает пароль, вызывая метод дешифрующий его
    public String getPassword() {
        return deCiphrIt(this.password);
    }
    
    //возвращает идентификатор
    public String getId() {
        return this.id;
    }
    
    //шифровщик
    public static String ciphrIt(String password) {
        return "zashifrovano" + password;
    }
    
    //дешифровщик
    public static String deCiphrIt(String password) {
        return password.replaceAll("zashifrovano", "");
    }
    
    //переопределенный метод toString
    @Override
    public String toString() {
        return "Пользователь № " + this.id + ": " +  this.login;
    }
}

UsersList
Кликните здесь для просмотра всего текста
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
package someproject;
 
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
 
public class UsersList {
    private static List<User> myList = new ArrayList<>();//список пользователей
    
    //возвращает ссылку на пользователя
    public static User getUser(String login) {
        for(User u : myList)
            if(u.getLogin().equals(login))
                return u;
        return null;
    }
    
    //добавляет пользователя в myList, вызывая его конструктор
    public static void addUser(String login, String password, String id) {
        if(getUser(login) == null)
            myList.add(new User(login, password, id));
        else
            System.out.println("Такой пользователь уже существует!");
    }
    
    //удаляет пользователя с указанным логином
    public static void delUser(String login) {
        if(!myList.isEmpty()) {
            Iterator<User> iter = myList.iterator();
            while(iter.hasNext()) {
                User u = iter.next();
                if(u.getLogin().equals(login))
                    iter.remove();
            }
        }
        else
            System.out.println("Список пользователей пуст!");
    }
    
    //возвращает результат поиска пользователя по id (true or false)
    public static boolean findById(String id) {
        for(User u : myList)
            if(u.getId().equals(id))
                return true;
        return false;
    }
}

В исключениях пока не силен, посему заменил простой проверкой. Может кто умный зайдет да и запилит.

Добавлено через 1 минуту
ну и шифрование пароля чисто для галочки, можно придумать нормальное.
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
21.12.2016, 23:43
Помогаю со студенческими работами здесь

Создать класс с полями (поле 1, поле 2) и методами (конструктор, функция обработки полей)
Всем привет, нужно помощь, я самостоятельно изучаю программирование, наткнулся на лабораторную в интернете по теме &quot;Классы&quot;, до...

Создать класс Tochka. Реализовать в классе конструктор по умолчанию (без параметров) и с параметрами, ряд методов для работы с точками плоскости
(Создать класс Tochka. Реализовать в классе конструктор по умолчанию (без параметров) и с параметрами, ряд методов для работы с точками...

Создать класс Man (человек), с полями: имя, возраст, пол и вес. Создать производный класс Student ...
Создать класс Man (человек), с полями: имя, возраст, пол и вес. Определить методы задания имени, возраста и веса. Создать производный класс...

Пользовательский класс Array должен содержать конструктор с параметрами
Пользовательский класс Array должен содержать конструктор с параметрами для создания целочисленных массивов и установки начальных значений...

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


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
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