Форум программистов, компьютерный форум, киберфорум
Java SE (J2SE)
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/13: Рейтинг темы: голосов - 13, средняя оценка - 5.00
0 / 0 / 1
Регистрация: 08.02.2014
Сообщений: 47
1

Банковское приложение

16.05.2015, 16:34. Показов 2448. Ответов 9
Метки нет (Все метки)

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
import java.util.ArrayList;
 
 
/**
 * Created by blizardinka on 11.05.2015.
 */
public class Bank {
    public static void main(String[] args) {
 
    }
 
    public void registerEvent() {
        ArrayList<EventNotificationListener> l = new ArrayList<>();
        l.add(new PrintClientListener() {
            public void onClientAdded() {
                System.out.println("New client is a human");
            }
        });
        l.add(new EmailNotificationListener() {
            public void onClientAdded() {
                System.out.println("We have a new client");
            }
        });
    }
    public  void addClient(EventNotificationListener l){
        l.onClientAdded();
    }
 
 
 
    interface EventNotificationListener {
        void onClientAdded();
    }
 
    class PrintClientListener implements EventNotificationListener {
        public void onClientAdded() {
        }
    }
 
    class EmailNotificationListener implements EventNotificationListener {
        public void onClientAdded() {
        }
    }
}
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
16.05.2015, 16:34
Ответы с готовыми решениями:

Как java-приложение может попросить OS запустить внешнее приложение?
Как java-приложение может попросить OS запустить внешнее приложение?

Банковское отделение
Здравствуйте, уважаемые программисты! Помогите, пожалуйста, исправить ошибки.

Тестировщик (банковское ПО)
Требования: • Высшее образование (техническое); • Опыт работы в тестировании от 1 года;...

Ведущий тестировщик (банковское ПО)
Требования: • Опыт тестирования от 2-х лет; • Понимание целей и задач процесса тестирования,...

9
0 / 0 / 1
Регистрация: 08.02.2014
Сообщений: 47
16.05.2015, 16:48  [ТС] 2
Банковское приложение
0
Эксперт Java
2361 / 2191 / 559
Регистрация: 28.12.2010
Сообщений: 8,584
16.05.2015, 18:52 3
blizardinka, и чё?
0
Welemir1
16.05.2015, 19:03
  #4

Не по теме:

KEKCoGEN, отличный вопрос))))

0
0 / 0 / 1
Регистрация: 08.02.2014
Сообщений: 47
16.05.2015, 20:23  [ТС] 5
Жду ответа модератора на запрос редактирования содержания первого сообщения. А так нужно реализовать банковское приложение, где класс банк содержал метод addClient(), при котором метод registerEvent() давал команду выполнить заданные указания слушателям имплементирующим интерфейс EventNotificationListener.

Я немного отредактировал предыдущий код, но сомневаюсь в его правильности
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
public class Bank {
    public static void main(String[] args) {
        addClient();
    }
 
    private static void addClient(){
        registerEvent();
    }
 
    public static void registerEvent() {
        ArrayList<EventNotificationListener> l = new ArrayList<>();
        l.add(new PrintClientListener() {
            public void onClientAdded() {
                System.out.println("New client is a human");
            }
        });
        l.add(new EmailNotificationListener() {
            public void onClientAdded() {
                System.out.println("We have a new client");
            }
        });
    }
 
    interface EventNotificationListener {
        void onClientAdded();
    }
 
    static class PrintClientListener implements EventNotificationListener {
        public void onClientAdded() {
        }
    }
 
    static class EmailNotificationListener implements EventNotificationListener {
        public void onClientAdded() {
        }
    }
}
0
Эксперт Java
2361 / 2191 / 559
Регистрация: 28.12.2010
Сообщений: 8,584
16.05.2015, 20:37 6
Цитата Сообщение от blizardinka Посмотреть сообщение
но сомневаюсь в его правильности
и правильно делаете. Написанна какая то невразумительная хрень

У вас в диаграмме показанно как надо написать. И то что вы написали это совсем не то.
0
0 / 0 / 1
Регистрация: 08.02.2014
Сообщений: 47
17.05.2015, 00:20  [ТС] 7
Ваш ответ лучше, чем ничего. Помогите с пояснением такого момента: вот у меня есть классы-слушатели, по заданию мне нужно создать список слушателей в методе registerEvent(EventNotificationListener), видимо в параметре метода должна быть ссылка на объект EventNotificationListener, например это будет в таком варианте registerEvent(EventNotificationListener listener), были варианты, когда я пытался вставить параметр в созданный лист, но среда выдавала ошибку и я понял, что так делать нельзя. После этого я почитал литературу, послушал некоторые видео уроки, но ответа на свой вопрос не нашёл. И ещё один вопрос про методы, если я использую стек вызов методов, то 1-ый метод мне все равно придётся вызывать в методе main() ?
0
Эксперт Java
2361 / 2191 / 559
Регистрация: 28.12.2010
Сообщений: 8,584
17.05.2015, 01:05 8
Лучший ответ Сообщение было отмечено blizardinka как решение

Решение

Цитата Сообщение от blizardinka Посмотреть сообщение
И ещё один вопрос про методы, если я использую стек вызов методов, то 1-ый метод мне все равно придётся вызывать в методе main() ?
неочень понял что вы имеете в виду. Программа начинается с выполнения метода main. То что вы создали его в классе Банк - неверно.

Думаю вам нужно почитать про шаблоны программирования. В частности про наблюдатель
Попробуйте понять приведенный там пример и соответственно перепишите вашу программу.
От готового ответа в данном случае будет мало толку.
1
0 / 0 / 1
Регистрация: 08.02.2014
Сообщений: 47
17.05.2015, 16:33  [ТС] 9
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
public class Bank {
    private String male;
    private String name;
    private int age;
 
    public static void main(String[] args) {
        Bank bank = new Bank();
        EmailNotificationListener notificationListener = new EmailNotificationListener(bank);
        PrintClientListener clientListener = new PrintClientListener(bank);
        bank.setSize("man", "Pyatochkin Petya Petrovich ", 45);
    }
 
    public void setSize(String male, String name, int age) {
        this.male = male;
        this.name = name;
        this.age = age;
        addClient();
    }
 
    void registerEvent(EventNotificationListener e){
        listeners.add(e);
    }
    void addClient(){
        for (EventNotificationListener listener : listeners) {
            listener.onClientAdded(male, name, age);
        }
    }
 
    private List<EventNotificationListener> listeners;
 
    public Bank () {
        listeners = new ArrayList<EventNotificationListener>();
    }
}
 
interface EventNotificationListener {
        void onClientAdded(String male, String name, int age);
    }
 
class EmailNotificationListener implements EventNotificationListener {
    private String name;
    private Bank bank;
 
    public EmailNotificationListener(Bank bank){
        this.bank = bank;
        bank.registerEvent(this);
    }
     @Override
     public void onClientAdded(String male, String name, int age) {
         this.name = name;
        message();
     }
 
    public void message() {
        System.out.println("We have a new client: " + name);
    }
 }
 
class PrintClientListener implements EventNotificationListener {
    private String male;
    private String name;
    private int age;
    private Bank bank;
 
    public PrintClientListener(Bank bank) {
        this.bank = bank;
        bank.registerEvent(this);
    }
 
    @Override
    public void onClientAdded(String male, String name, int age) {
        this.male = male;
        this.name = name;
        this.age = age;
        display();
    }
 
    public void display() {
        System.out.println("Identification of a new client :");
        System.out.println("gender: " + male);
        System.out.println("name: " + name);
        System.out.println("age: " + age);
    }
Спасибо вам за такой заряд эмоций, для меня это большой шаг, радуюсь как ребёнок.Вы помогли мне написать мое первое приложение и ознакомиться с шаблоном проектирования.
0
Эксперт Java
2361 / 2191 / 559
Регистрация: 28.12.2010
Сообщений: 8,584
17.05.2015, 16:40 10
blizardinka, незачто)
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
17.05.2015, 16:40

Заказываю контрольные, курсовые, дипломные работы и диссертации здесь.

тема Банковское дело
Привет всем, дали задание по Access, сделать на тему Банковское дело. Если у кого нить есть примеры...

Аналитик (тестирование, банковское ПО)
Требования: • Высшее техническое образование (желательно, в области ИТ); • Опыт работы от 3-х...

Тестировщик (банковское ПО)(м. Войковская)
Требования: • Высшее образование (техническое); • Опыт работы в тестировании от 1 года;...

" Тестировщик (банковское ПО)(м. Войковская)
Требования: • Высшее образование (техническое); • Опыт работы в тестировании от 1 года;...


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

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.