Форум программистов, компьютерный форум, киберфорум
Java SE (J2SE)
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.65/100: Рейтинг темы: голосов - 100, средняя оценка - 4.65
 Аватар для GreatTalker
4 / 4 / 1
Регистрация: 03.10.2010
Сообщений: 111

Создание своего исключения

26.05.2012, 11:23. Показов 19037. Ответов 19
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем доброго времени суток.Имеется объект фабрика,в котором имеется объект em суперкласса Employees,к которому относятся объекты классов Workers,Managers и ITR.У этих 3х подчиненных классов имеются поля: string имя,дата рождения типа Date,порядковый номер типа int,нужно,чтобы при вызове метода ShowWorkers,осуществляющего вывод List em на консоли было выведено:введен неверный возраст у такого-то элемента списка.Возраст считается неверным,если значение поля Edate объекта em класса Employees будет более ста лет,например:Workers w2=new Workers("Дубков Савел Григорьевич",format.parse("04.05.1888"), 3);.В книгах по java нет подробной информации как писать такие исключения.Как я понял,нужно создать свой класс AgeException extends Exception и в нем прописать условие этой ошибки,но я не знаю как.Помогите,пожалуйста.Код:
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
import java.util.ArrayList;
import java.util.Date;
import java.util.HashMap;
import java.util.HashSet;
import java.util.Iterator;
import java.util.Map;
import java.awt.List;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import org.omg.CORBA.PUBLIC_MEMBER;
public class Factory
{
private static String name="Арсеньевские сласти";
private static ArrayList<Employees> em=new ArrayList <Employees>();
public static void main(String[]args) throws ParseException{
    Factory f=new Factory();
    SimpleDateFormat format=new SimpleDateFormat("dd.MM.yyyy");
    Managers m1=new Managers("Пупков Андрей Генрихович",format.parse("23.01.1985"),1);
    Workers w1=new Workers("Ледорубов Феликс Петрович",format.parse("01.12.1990"),2);
    Workers w2=new Workers("Дубков Савел Григорьевич",format.parse("04.05.1984"),3);
    Workers w3=new Workers("Корягин Викторас Ульрихович",format.parse("14.11.1984"),4);
    ITR i1=new ITR("Синичкина Овсана Григорьевна",format.parse("11.03.1991"),5);
    System.out.println("Фабрика"+name);
    em.add(m1);
    em.add(w1);
    em.add(w2);
    em.add(w3);
    em.add(i1);
    f.showWorkers(); 
}  
    public void showWorkers()
    {
    for (Iterator <Employees> i=em.iterator();i.hasNext();)
    {
        
            System.out.println(i.next().ShowEmp());
    }
    }    
 
 
}
 
import java.util.Date;
public abstract class Employees {
protected String Ename;
protected Date Edate;
protected int Enum;
public Employees()
{}
public Employees(String Ename,Date Edate,int Enum)
{
    this.Ename=Ename;
    this.Edate=Edate;
    this.Enum=Enum;
}
public  String ShowEmp()
{
     return "Табельный номер"+Enum+" Имя"+Ename+" Дата рождения"+Edate;
}
}
 
 
import java.util.Date;
public class Managers extends Employees{
     public Managers()
     {}
     public Managers(String Ename,Date Edate,int Enum)
     {
     super (Ename,Edate,Enum);
     }
}
 
import java.util.Date;
public class Workers extends Employees {
    public Workers()
    {}
    public Workers(String Ename,Date Edate,int Enum)
    {
        super (Ename,Edate,Enum);
    }
}
 
import java.util.Date;
public class ITR extends Employees {
    public ITR()
    {}
    public ITR(String Ename,Date Edate,int Enum)
    {
        super (Ename,Edate,Enum);
    }   
 
}
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
26.05.2012, 11:23
Ответы с готовыми решениями:

Создание своего http сервера с JavaFX (панель)
Доброго времени суток, ребя подскажите почему зависает программа (что не так делаю). В общем пишу самый простой http сервер. Создал...

Создание своего Event для своего класса
как создать событие для своего класса? У C# нужно создать свое делегат, потом создать экземпляр этого делегата, и из вне привязать...

Обрабатывать события или исключения для своего класса?
Имеется класс с некоторой функциональностью. Правильная работа методов этого класса зависит от многих параметров и нужно в классе формы...

19
_
2364 / 1243 / 78
Регистрация: 28.10.2009
Сообщений: 4,331
26.05.2012, 12:13
Как-то так:
Java
1
2
3
4
5
6
7
8
9
10
11
12
class AgeException extends Exception
    {
        public AgeException(String text)  
        { 
            super(text);
        }
        public AgeException(String text,Exception innerEx)
        {
            super(text,innerEx);
            
        }
    }
Проверяешь возраст, если он имеет недопустимое значение, то выбрасываешь исключение
Java
1
2
3
4
5
public void setAge(int value) throws AgeException
        {
                if (value < 0) throw new AgeException("Возраст не может быть меньше 0");
                age = value; 
        }
2
 Аватар для GreatTalker
4 / 4 / 1
Регистрация: 03.10.2010
Сообщений: 111
26.05.2012, 12:26  [ТС]
Java
1
2
3
4
5
public void setAge(int value) throws AgeException
        {
                if (value < 0) throw new AgeException("Возраст не может быть меньше 0");
                age = value; 
        }
Не понял...ведь элементы списка em просматриваются через цикл в методе ShowWorkers(),значит try catch нужно добавить туда...и поле неободимое для обработки исключения имеет тип Date....
0
_
2364 / 1243 / 78
Регистрация: 28.10.2009
Сообщений: 4,331
26.05.2012, 12:32
GreatTalker, я лишь привел пример. Изменяешь тип int на Date и корректируешь логику в соответствии с типом Date. Тебе надо инкапсулировать поле в метод типа setDate и там уже прописывать логику выброса исключения
1
 Аватар для GreatTalker
4 / 4 / 1
Регистрация: 03.10.2010
Сообщений: 111
26.05.2012, 13:21  [ТС]
Спасибо за пример.На его основн и еще на паре книг я реализовал это через класс exception.Есть одна проблема,я не знаю как обратиться к полю Edate списка em при сравнении в методе ShowWorkers(),помогите мне исправить мою ошибку,если я не напутал со структурой..
Java
1
2
3
4
5
6
7
8
public void showWorkers() throws AgeException
    {
 
    for (Iterator <Employees> i=em.iterator();i.hasNext();)
    {
        if (em.Edate<"01.01.1930") throw new AgeException(em);
            System.out.println(i.next().ShowEmp());
    }
И полный код:
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
public class Factory
{
private static String name="Арсеньевские сласти";
private static ArrayList<Employees> em=new ArrayList <Employees>();
public static void main(String[]args) throws ParseException{
    Factory f=new Factory();
    SimpleDateFormat format=new SimpleDateFormat("dd.MM.yyyy");
    Managers m1=new Managers("Пупков Андрей Генрихович",format.parse("23.01.1985"),1);
    Workers w1=new Workers("Ледорубов Феликс Петрович",format.parse("01.12.1990"),2);
    Workers w2=new Workers("Дубков Савел Григорьевич",format.parse("04.05.1984"),3);
    Workers w3=new Workers("Корягин Викторас Ульрихович",format.parse("14.11.1984"),4);
    ITR i1=new ITR("Синичкина Овсана Григорьевна",format.parse("11.03.1991"),5);
System.out.println("Фабрика"+name);
    em.add(m1);
    em.add(w1);
    em.add(w2);
    em.add(w3);
    em.add(i1);
try{
    f.showWorkers(); 
    }catch (AgeException e){
    System.out.println("Неверно указан возраст");
    }
public void showWorkers() throws AgeException
    {
 
    for (Iterator <Employees> i=em.iterator();i.hasNext();)
    {
        if (em.Edate<"01.01.1930") throw new AgeException(em);
            System.out.println(i.next().ShowEmp());
    }
}
public class AgeException extends Exception {
    private static ArrayList<Employees> em=new ArrayList <Employees>();
    AgeException (ArrayList<Employees> k) {
        em=k;
    }
    public String toString(){
        return "AgeException";
    }
}
public abstract class Employees {
protected String Ename;
protected Date Edate;
protected int Enum;
public Employees()
{}
public Employees(String Ename,Date Edate,int Enum)
{
    this.Ename=Ename;
    this.Edate=Edate;
    this.Enum=Enum;
}
public  String ShowEmp()
{
     return "Табельный номер"+Enum+" Имя"+Ename+" Дата рождения"+Edate;
}
}
import java.util.Date;
public class Workers extends Employees {
    public Workers()
    {}
    public Workers(String Ename,Date Edate,int Enum)
    {
        super (Ename,Edate,Enum);
    }
}
import java.util.Date;
public class Managers extends Employees{
     public Managers()
     {}
     public Managers(String Ename,Date Edate,int Enum)
     {
     super (Ename,Edate,Enum);
     }
}
import java.util.Date;
public class ITR extends Employees {
    public ITR()
    {}
    public ITR(String Ename,Date Edate,int Enum)
    {
        super (Ename,Edate,Enum);
    }   
 
}
0
 Аватар для mutagen
2587 / 2260 / 257
Регистрация: 14.09.2011
Сообщений: 5,185
Записей в блоге: 18
26.05.2012, 13:35
Цитата Сообщение от GreatTalker Посмотреть сообщение
if (em.Edate<"01.01.1930")
это не работает, надо так
Java
1
2
3
4
5
6
7
8
Calendar c = Calendar.getInstance();
        c.set(1930, 01, 01, 0, 0);
 
for (Iterator <Employees> i=em.iterator();i.hasNext();)
    {
        if (em.Edate.before(c.getTime())) throw new AgeException(em);
            System.out.println(i.next().ShowEmp());
    }
1
 Аватар для GreatTalker
4 / 4 / 1
Регистрация: 03.10.2010
Сообщений: 111
26.05.2012, 13:50  [ТС]
Спасибо за помощь с датой,в инетре нигде не мог найти как с ней работать,теперь осталась одна ошибка,он почему-то не видит поле em.Edate....Edate cannot be resolved or is not a field,может,я не так вызываю поле в списке этого объекта?
Java
1
2
3
4
5
6
7
8
9
10
    public void showWorkers() throws AgeException
    {
        Calendar c = Calendar.getInstance();
        c.set(1930, 01, 01, 0, 0);
    for (Iterator <Employees> i=em.iterator();i.hasNext();)
    {
        if (em.Edate.before(c.getTime())) throw new AgeException(em);
            System.out.println(i.next().ShowEmp());
    }
}
0
 Аватар для mutagen
2587 / 2260 / 257
Регистрация: 14.09.2011
Сообщений: 5,185
Записей в блоге: 18
26.05.2012, 13:56
потому что поле protected, тоесть видно только наследникам, либо сделай гетер
Java
1
2
3
public Date getEdate() {
return Edate;
}
и вызывай через него
Java
1
if (em.getEdate().before(c.getTime())) throw new AgeException(em);
либо смени модификатор доступа
1
 Аватар для GreatTalker
4 / 4 / 1
Регистрация: 03.10.2010
Сообщений: 111
26.05.2012, 14:20  [ТС]
Я не понимаю,почему он не видит метод...The method getEdate() is undefined for the type ArrayList<Employees>я все изменил...Извиняюсь за свою безголовость...
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
  public class Factory
{
private static String name="Арсеньевские сласти";
public static ArrayList<Employees> em=new ArrayList <Employees>();
public static void main(String[]args) throws ParseException{
    Factory f=new Factory();
    SimpleDateFormat format=new SimpleDateFormat("dd.MM.yyyy");
    Managers m1=new Managers("Пупков Андрей Генрихович",format.parse("23.01.1985"),1);
    Workers w1=new Workers("Ледорубов Феликс Петрович",format.parse("01.12.1990"),2);
    Workers w2=new Workers("Дубков Савел Григорьевич",format.parse("04.05.1984"),3);
    Workers w3=new Workers("Корягин Викторас Ульрихович",format.parse("14.11.1984"),4);
    ITR i1=new ITR("Синичкина Овсана Григорьевна",format.parse("11.03.1991"),5);
    Cakes c1=new Cakes("Рулет Рулетыч",format.parse("14.05.2012"),1);
    Candy c2=new Candy("Конфеты Слаще только любовь",format.parse("15.05.2012"),2);
    Cookies c3=new Cookies("Печенье Бабуськина внучка",format.parse("15.05.2012"),3);
    System.out.println("Фабрика"+name);
    em.add(m1);
    em.add(w1);
    em.add(w2);
    em.add(w3);
    em.add(i1);
try{
    f.showWorkers(); 
    }catch (AgeException e){
    System.out.println("Неверно указан возраст");
    } 
 public void showWorkers() throws AgeException
    {
        Calendar c = Calendar.getInstance();
        c.set(1930, 01, 01, 0, 0);
    for (Iterator <Employees> i=em.iterator();i.hasNext();)
    {
        if (em.getEdate().before(c.getTime())) throw new AgeException(em);
            System.out.println(i.next().ShowEmp());
    }
 
}
public abstract class Employees {
public String Ename;
public Date Edate;
public int Enum;
public Employees()
{}
public Employees(String Ename,Date Edate,int Enum)
{
    this.Ename=Ename;
    this.Edate=Edate;
    this.Enum=Enum;
}
public Date getEdate() {
return Edate;
}
public  String ShowEmp()
{
     return "Табельный номер"+Enum+" Имя"+Ename+" Дата рождения"+Edate;
}
}
0
 Аватар для mutagen
2587 / 2260 / 257
Регистрация: 14.09.2011
Сообщений: 5,185
Записей в блоге: 18
26.05.2012, 15:36
Цитата Сообщение от GreatTalker Посмотреть сообщение
public int Enum;
Enum это класс стандартный, так нельзя

ну и класс ошибки
Java
1
2
3
4
5
6
7
8
9
10
11
12
    class AgeException extends Exception {
        private Date d;
 
        public AgeException(Date d) {
            this.d = d;
        }
 
        @Override
        public String getMessage() {
            return "AgeException - wrong value " + d.toString();
        }
    }
зачем там арейлист я так и не понял

я бы кидал вот так
Java
1
2
 if (em.getEdate().before(c.getTime())) throw new AgeException(em.getEdate());
            System.out.println(i.next().ShowEmp());
0
81 / 81 / 8
Регистрация: 10.06.2011
Сообщений: 258
26.05.2012, 16:00
Java
1
2
3
4
5
    for (Iterator <Employees> i=em.iterator();i.hasNext();)
    {
        if (em.getEdate().before(c.getTime())) throw new AgeException(em);
            System.out.println(i.next().ShowEmp());
    }
По моему еще IF в цикле не к чему, т.к. он не зависит от i. Можно и так:
Java
1
2
3
4
5
6
if (em.getEdate().before(c.getTime())) {
  throw new AgeException(em);
}
for (Iterator <Employees> i=em.iterator();i.hasNext();) {
  System.out.println(i.next().ShowEmp());
}
0
 Аватар для GreatTalker
4 / 4 / 1
Регистрация: 03.10.2010
Сообщений: 111
26.05.2012, 16:05  [ТС]
Все равно ошибка:The method getEdate() is undefined for the type ArrayList<Employees>.метод прописан в классе Employees,на него нужно сделать ссылку??
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
 public void showWorkers() throws AgeException
    {
        Calendar c = Calendar.getInstance();
        c.set(1930, 01, 01, 0, 0);
        if (em.getEdate().before(c.getTime())) throw new AgeException(em.getEdate());
    for (Iterator <Employees> i=em.iterator();i.hasNext();)
    {
        
            System.out.println(i.next().ShowEmp());
    }
}
 
public abstract class Employees {
public String Ename;
public Date Edate;
public int Enum;
public Employees()
{}
public Employees(String Ename,Date Edate,int Enum)
{
    this.Ename=Ename;
    this.Edate=Edate;
    this.Enum=Enum;
}
public Date getEdate() {
return Edate;
}
public  String ShowEmp()
{
     return "Табельный номер"+Enum+" Имя"+Ename+" Дата рождения"+Edate;
}
}
0
81 / 81 / 8
Регистрация: 10.06.2011
Сообщений: 258
26.05.2012, 16:33
Нужно его вызывать тогда на объектах Employees. Тут уже сам смотри что тебе конкретно нужно, например:
Java
1
2
3
4
5
6
7
for (Iterator<Employees> i=em.iterator();i.hasNext();) {
  Employees e = i.next();
  if (e.getEdate().before(c.getTime())) {
    throw new AgeException(e.getEdate());
  }
  System.out.println(e.ShowEmp());
}
1
 Аватар для exiqa
487 / 333 / 71
Регистрация: 24.12.2011
Сообщений: 591
26.05.2012, 16:35
ну конечно же нужно вызывать на объекте Employees метод, а не на листе

Java
1
2
for (Iterator <Employees> i=em.iterator();i.hasNext();) {
     if (i.next().getEdate().before(c.getTime()))  .......
1
 Аватар для mutagen
2587 / 2260 / 257
Регистрация: 14.09.2011
Сообщений: 5,185
Записей в блоге: 18
26.05.2012, 16:43
ага я понял в чём прикол, у тебя неправильно архитектурно

смотри ты итерируешь арей и ищешь в нём эмплоев с неправильной датой и тогда пытаешься кинуть исключение, но это нужно делать на этапе создания этой даты

неправильность в том что перенёс обработку ошибок на класс контейнер (лист там и тд), но этим должен заниматься класс реализатор эмплоя, мало того это необходимо сделать даже на будущее с возможностью задавать эту границу даты

вспоминаем главное правило бина, он должен быть независим от других классов
1
 Аватар для GreatTalker
4 / 4 / 1
Регистрация: 03.10.2010
Сообщений: 111
26.05.2012, 16:47  [ТС]
Спасибо....Боже мой,я совсем запутался.Я думал,что при выводе их на консоль должны ловиться ошибки,а тут значит try catch нужно делать при заполнении employees...
0
 Аватар для mutagen
2587 / 2260 / 257
Регистрация: 14.09.2011
Сообщений: 5,185
Записей в блоге: 18
26.05.2012, 16:49
Цитата Сообщение от GreatTalker Посмотреть сообщение
значит try catch нужно делать при заполнении employees...
да именно так, зачем создавать в памяти заведомо битые объекты
1
 Аватар для GreatTalker
4 / 4 / 1
Регистрация: 03.10.2010
Сообщений: 111
27.05.2012, 21:28  [ТС]
Исправил программу.Теперь работает.Выложу здесь, вдруг кому пригодится.
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
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
import java.util.ArrayList;
import java.util.Calendar;
import java.util.Date;
import java.util.HashMap;
import java.util.HashSet;
import java.util.Iterator;
import java.util.Map;
import java.awt.List;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import org.omg.CORBA.PUBLIC_MEMBER;
public class Factory
{
private static String name="Арсеньевские сласти";
private  ArrayList<Employees> em=new ArrayList <Employees>();
private  HashSet <Goods> g=new HashSet <Goods>();
public  Map<String,Integer> s=new HashMap <String,Integer>();
public static void main(String[]args) throws ParseException{
    Factory f=new Factory();
    SimpleDateFormat format=new SimpleDateFormat("dd.MM.yyyy");
    Managers m1=new Managers("Пупков Андрей Генрихович",format.parse("23.01.1985"),1);
    Workers w1=new Workers("Ледорубов Феликс Петрович",format.parse("01.12.1990"),2);
    Workers w2=new Workers("Дубков Савел Григорьевич",format.parse("04.05.1984"),3);
    Workers w3=new Workers("Корягин Викторас Ульрихович",format.parse("14.11.1991"),4);
    ITR i1=new ITR("Синичкина Овсана Григорьевна",format.parse("11.03.1997"),5);
    Cakes c1=new Cakes("Рулет Рулетыч",format.parse("14.05.2012"),1);
    Candy c2=new Candy("Конфеты Слаще только любовь",format.parse("15.05.2012"),2);
    Cookies c3=new Cookies("Печенье Бабуськина внучка",format.parse("15.05.2012"),3);
    System.out.println("Фабрика"+name);
    try{
    f.addEmployee(m1);
    f.addEmployee(w1);
    f.addEmployee(w2);
    f.addEmployee(w3);
    f.addEmployee(i1);
    }
    catch (AgeException e){
        System.out.println("Invalid age of employee");
        System.out.println(e.toString());
    }
    f.g.add(c1);
    f.g.add(c2);
    f.g.add(c3);
    f.s.put("Конфеты",25);
    f.s.put("Рулеты",30);
    f.s.put("Печенье",30); 
    f.showWorkers(); 
    f.showGoods();
    f.showStorage(); 
} 
public void addEmployee(Employees obj) throws AgeException{
    Calendar c = Calendar.getInstance();
    c.set(1994, 01, 01, 0, 0);
    if(obj.getEdate().after(c.getTime()))
        throw new AgeException(obj.getEdate());
    else 
        em.add(obj);
}
 
public void showWorkers()
    {
    for (Iterator <Employees> i=em.iterator();i.hasNext();)
    {
            System.out.println(i.next().ShowEmp());
    }
}
        
public void showGoods()
    {
    for (Iterator <Goods> i=g.iterator();i.hasNext();)
    {
        
           System.out.println(i.next().ShowGoods());
           
    }
    }
public void showStorage()
{
for (Iterator i=s.entrySet().iterator();i.hasNext();)
{
    
    System.out.println(i.next());
    
}    
}
 
}
import java.util.ArrayList;
import java.util.Date;
public abstract class Employees {
public String Ename;
public Date Edate;
public int Enum;
public Employees()
{}
public Employees(String Ename,Date Edate,int Enum)
{
    this.Ename=Ename;
    this.Edate=Edate;
    this.Enum=Enum;
}
public Date getEdate() {
return Edate;
}
public  String ShowEmp()
{
     return "Табельный номер"+Enum+" Имя"+Ename+" Дата рождения"+Edate;
}
}
import java.util.Date;
 
public class AgeException extends Exception {
    private Date d;
    public AgeException (Date d) {
        this.d=d;
    }
    public String toString(){
        return "AgeException-vrong value"+d.toString();
    }
}
import java.util.Date;
public class Cookies extends Goods{
    public Cookies()
    {}
    public Cookies(String Gname,Date Gdate,int Gnum)
    {
        super (Gname,Gdate,Gnum);
    }
}
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
 
 
public class Storage {
public int S;
 
 
 
}
 
import java.util.Date;
public class Cakes extends Goods {
public Cakes()
{}
public Cakes(String Gname,Date Gdate,int Gnum)
{
    super (Gname,Gdate,Gnum);
}
}
 
import java.util.Date;
 
 
public class Candy extends Goods{
    public Candy()
    {}
    public Candy(String Gname,Date Gdate,int Gnum)
    {
        super (Gname,Gdate,Gnum);
    }
 
}
 
import java.util.Date;
public class Managers extends Employees{
     public Managers()
     {}
     public Managers(String Ename,Date Edate,int Enum)
     {
     super (Ename,Edate,Enum);
     }
}
 
import java.util.Date;
public class Workers extends Employees {
    public Workers()
    {}
    public Workers(String Ename,Date Edate,int Enum)
    {
        super (Ename,Edate,Enum);
    }
}
 
import java.util.Date;
public class ITR extends Employees {
    public ITR()
    {}
    public ITR(String Ename,Date Edate,int Enum)
    {
        super (Ename,Edate,Enum);
    }   
 
}
0
 Аватар для mutagen
2587 / 2260 / 257
Регистрация: 14.09.2011
Сообщений: 5,185
Записей в блоге: 18
27.05.2012, 21:58
вот этот кусок хорошо выкинуть в проперти и сетер, вдруг вам потом эти границы перезадать захочется
Java
1
2
Calendar c = Calendar.getInstance();
    c.set(1994, 01, 01, 0, 0);
так как у вас на каждого эмплоя создаётся ещё и инстанс Calendar, а для проверки и одного хватит
поэтому его хорошо засинглетонить
1
 Аватар для GreatTalker
4 / 4 / 1
Регистрация: 03.10.2010
Сообщений: 111
27.05.2012, 22:01  [ТС]
Спасибо за совет
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
27.05.2012, 22:01
Помогаю со студенческими работами здесь

Почему нельзя генерировать исключения некоторых типов из своего кода
MSDN говорит следующее: Я не могу понять почему. Кто нибудь знает ответ на этот вопрос?

Создание исключения
Такая проблема: на форме есть 2 текстбокса, в один должно вводится число, которое будем приводить к типу дабл, а во втором текстбоксе...

Создание исключения
Здравствуйте. Пишу маленькую программку - калькулятор. Есть один косячок - при переводе из десятичной системы в другую, при написании...

Создание пользовательского исключения
Подскажите, пожалуйста, как создать пользовательское исключение. Я написала код. VERTEX_COUNT =...

Создание собственого исключения
Написать программу, выполняющую следующие действия выводит на экран информации о товарах, продающихся в магазине, название которого введено...


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
Программный контроль заполнения реквизита табличной части документа
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: реализовать контроль заполнения реквизита "ПричинаСписания". . .
wmic не является внутренней или внешней командой
Maks 02.04.2026
Решение: DISM / Online / Add-Capability / CapabilityName:WMIC~~~~ Отсюда: https:/ / winitpro. ru/ index. php/ 2025/ 02/ 14/ komanda-wmic-ne-naydena/
Программная установка даты и запрет ее изменения
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: при создании документов установить период списания автоматически. . .
Вывод данных в справочнике через динамический список
Maks 01.04.2026
Реализация из решения ниже выполнена на примере нетипового справочника "Спецтехника" разработанного в конфигурации КА2. Задача: вывести данные из ТЧ нетипового документа. . .
Программное заполнения текстового поля в реквизите формы документа
Maks 01.04.2026
Алгоритм из решения ниже реализован на нетиповом документе "ВыдачаОборудованияНаСпецтехнику" разработанного в конфигурации КА2, в дополнении к предыдущему решению. На форме документа создается. . .
К слову об оптимизации
kumehtar 01.04.2026
Вспоминаю начало 2000-х, университет, когда я писал на Delphi. Тогда среди программистов на форумах активно обсуждали аккуратную работу с памятью: нужно было следить за переменными, вовремя. . .
Идея фильтра интернета (сервер = слой+фильтр).
Hrethgir 31.03.2026
Суть идеи заключается в том, чтобы запустить свой сервер, о чём я если честно мечтал давно и давно приобрёл книгу как это сделать. Но не было причин его запускать. Очумелые учёные напечатали на. . .
Модель здравосоХранения 6. ESG-повестка и устойчивое развитие; углублённый анализ кадрового бренда
anaschu 31.03.2026
В прикрепленном документе раздумья о том, как можно поменять модель в будущем
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru