Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Java [игнор отключен] [закрыт для гостей] / OOП Java / 23 сообщений из 23, страница 1 из 1
16.01.2014, 17:12
    #38528582
Molya
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
OOП Java
здравствуйте!!! проверьте пожалуйста
Задание: создать класс с полями, указанными в индивидуальном задании .
Реализовать в классе методы:
- конструктор по умолчанию;
- конструктор перезагрузки с параметрами;
- деструктор для освобождения памяти (с сообщением об уничтожении объекта);
- функции обработки данных (1 и 2), указанные в индивидуальном задании(табл. 11.2, столбцы 3 и 4);
- функцию формирования строки информации об объекте.
Создать проект для демонстрации работы: сформировать объекты со значениями-константами и с введенными значениями полей объекта.

Класс-родитель и его поля: Дата (три числа):день, месяц, год
Функция-метод 1 обработки данных: Увеличить год на 1
Функция-метод 2 обработки данных: Уменьшить дату на 2 дня

Код: 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.
public class date {

    private int day;
    private int month;
    private int year;
    Date myDate;
    Calendar calendar = new GregorianCalendar();
    SimpleDateFormat formattedDate = new SimpleDateFormat("dd.MM.yyyy");

    public int getDay() {
        return day;
    }

    public void setDate(int day) {
        this.day = day;
    }

    public int getMonth() {
        return month;
    }

    public void setMonth(int month) {
        this.month = month;
    }

    public int getYear() {
        return year;
    }

    public void setYear(int year) {
        this.year = year;
    }

    public date() {
        calendar = Calendar.getInstance();
        setDate(calendar.get(Calendar.DAY_OF_MONTH));
        setMonth(calendar.get(Calendar.MONTH));
        setYear(calendar.get(Calendar.YEAR));
        System.out.println(getDay() + ":" + getMonth() + ":" + getYear());
        myDate();
        myDay();

    }

    public date(int day) {
        this.day = day;
        calendar = Calendar.getInstance();
        calendar.set(Calendar.DAY_OF_MONTH, day);
        setMonth(calendar.get(Calendar.MONTH));
        setYear(calendar.get(Calendar.YEAR));
        System.out.println(getDay() + ":" + getMonth() + ":" + getYear());
        myDate();
        myDay();
    }

    public date(int day, int month) {
        this.day = day;
        this.month = month;
        calendar = Calendar.getInstance();
        calendar.set(Calendar.DAY_OF_MONTH, day);
        calendar.set(Calendar.MONTH, month);
        setYear(calendar.get(Calendar.YEAR));
        System.out.println(getDay() + ":" + getMonth() + ":" + getYear());
        myDate();
        myDay();
    }

    public date(int day, int month, int year) {
        this.day = day;
        this.month = month;
        this.year = year;
        calendar = Calendar.getInstance();
        calendar.set(Calendar.DAY_OF_MONTH, day);
        calendar.set(Calendar.MONTH, month);
        calendar.set(Calendar.YEAR, year);
        System.out.println(getDay() + ":" + getMonth() + ":" + getYear());
        myDate();
        myDay();
    }

    public void myDate() {//Увеличивает дату на один год
        try {
            int a = getYear() + 1;
            String s = getDay() + "." + getMonth() + "." + a;
            myDate = formattedDate.parse(s);
            System.out.println(myDate);
        } catch (ParseException ex) {
            Logger.getLogger(date.class.getName()).log(Level.SEVERE, null, ex);
        }
    }

    public void myDay() {//Увеличивает дату на 2 дней
        try {
            int a = getDay() + 2;
            String s = a + "." + getMonth() + "." + getYear();
            myDate = formattedDate.parse(s);
            System.out.println(myDate);
        } catch (ParseException ex) {
            Logger.getLogger(date.class.getName()).log(Level.SEVERE, null, ex);
        }
    }

    public void finalize() {//
        if (getYear() >= 8000) {
            System.out.println(
                    "Удалены  : год = " + year + " месяц = " + month + " день = " + day);
        }
    }
}

...
Рейтинг: 0 / 0
16.01.2014, 17:17
    #38528591
Озверин
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
OOП Java
Molya,

а деструктор .. вам так и сказали: реализуйте деструктор?
...
Рейтинг: 0 / 0
16.01.2014, 17:20
    #38528598
Molya
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
OOП Java
сказали в место деструктора используете finalize(). Задачу правильно ли я решила?
...
Рейтинг: 0 / 0
16.01.2014, 17:25
    #38528602
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
OOП Java
Molya- функции обработки данных (1 и 2), указанные в индивидуальном задании(табл. 11.2, столбцы 3 и 4);

Очень полезная инфа. Спасибо что поделились.
...
Рейтинг: 0 / 0
16.01.2014, 17:28
    #38528607
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
OOП Java
- конструктор по умолчанию; - check
- конструктор перезагрузки с параметрами; - check
- деструктор для освобождения памяти (с сообщением об уничтожении объекта); - нет такого. -1
- функции обработки данных (1 и 2), указанные в индивидуальном задании(табл. 11.2, столбцы 3 и 4); - как проверить?
- функцию формирования строки информации об объекте. - не вижу -1

- Создать проект для демонстрации работы - класс есть, проекта нет -1
- сформировать объекты со значениями-константами и с введенными значениями полей объекта. - не вижу -1

Итого 1 по пятибальной системе.
...
Рейтинг: 0 / 0
16.01.2014, 17:31
    #38528610
Molya
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
OOП Java
BlazkowiczMolya- функции обработки данных (1 и 2), указанные в индивидуальном задании(табл. 11.2, столбцы 3 и 4);

Очень полезная инфа. Спасибо что поделились.
Класс-родитель и его поля: Дата (три числа):день, месяц, год
Функция-метод 1 обработки данных: Увеличить год на 1
Функция-метод 2 обработки данных: Уменьшить дату на 2 дня
...
Рейтинг: 0 / 0
16.01.2014, 17:31
    #38528612
Озверин
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
OOП Java
Molyaсказали в место деструктора используете finalize(). Задачу правильно ли я решила?

автор- конструктор по умолчанию; - есть
автор- конструктор перезагрузки с параметрами; - есть
автор- деструктор для освобождения памяти (с сообщением об уничтожении объекта); - это очень странная постановка: когда будет вызван finalize - никто не знает; полагаться на него не следует.
автор- функции обработки данных (1 и 2), указанные в индивидуальном задании(табл. 11.2, столбцы 3 и 4);
- функцию формирования строки информации об объекте. - беспонятие
авторСоздать проект для демонстрации работы: сформировать объекты со значениями-константами и с введенными значениями полей объекта.

- проект?
- значения константы должны быть объявлены с модификатором final и инициализированы при объявлении или в конструкторе

авторКласс-родитель и его поля: Дата (три числа):день, месяц, год - есть
Функция-метод 1 обработки данных: Увеличить год на 1
Функция-метод 2 обработки данных: Уменьшить дату на 2 дня
...
Рейтинг: 0 / 0
16.01.2014, 17:32
    #38528614
mayton
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
OOП Java
Я со стоном сползаю по креслу на пол. Хде самое главное?

Расчёт количества дней между датами!
...
Рейтинг: 0 / 0
16.01.2014, 17:35
    #38528618
Озверин
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
OOП Java
авторФункция-метод 1 обработки данных: Увеличить год на 1 - есит
авторФункция-метод 2 обработки данных: Уменьшить дату на 2 дня[/quote] - нет, так как в постановке уменьшить

Общие замечания:
* классы принято именовать с большой буквы
* именовать методы глагол+существительное понятное для других: myDate = addYear
...
Рейтинг: 0 / 0
16.01.2014, 17:36
    #38528624
Лагман
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
OOП Java
Озверин,

Да там и задание копипаста в гуглепереводе, "конструктор перегрузки" - че за фигня вообще.

По сабжу,
1. класс с мальенькой буквы - это не джавастайл.
2. Поле calendar используется в методах в качестве локальной переменной, всегда создаётся заново - зачем поле?
3. Увеличить "дату" (дата = 3 числа день,месяц,год) = изменить состояние класса, а не что-то там посчитать и напечатать в консоль.
4. Считать дату через форматтер - если бы я был преподом, мне бы не понравился такой подход
5. Зачем в конструкторах вызываются "методы обработки данных"?
...
Рейтинг: 0 / 0
16.01.2014, 17:40
    #38528633
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
OOП Java
ЛагманДа там и задание копипаста в гуглепереводе, "конструктор перегрузки" - че за фигня вообще.

Просто лаба когда-то была по С++, теперь в ВУЗе модно проходить Java. А переделывать методический материал никто не парится.

Лагман1. класс с мальенькой буквы - это не джавастайл.
2. Поле calendar используется в методах в качестве локальной переменной, всегда создаётся заново - зачем поле?
3. Увеличить "дату" (дата = 3 числа день,месяц,год) = изменить состояние класса, а не что-то там посчитать и напечатать в консоль.
4. Считать дату через форматтер - если бы я был преподом, мне бы не понравился такой подход
5. Зачем в конструкторах вызываются "методы обработки данных"?
У девушки задача лабу сдать, а не программировать научиться.
...
Рейтинг: 0 / 0
16.01.2014, 17:49
    #38528654
_newcomer_
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
OOП Java
BlazkowiczПросто лаба когда-то была по С++, теперь в ВУЗе модно проходить Java. А переделывать методический материал никто не парится.
Да уж, интересно бы у девушки узнать:
- Что за ВУЗ?
- В каком городе?
- На каком курсе это задание?
- Сколько лет преподу?
:)
...
Рейтинг: 0 / 0
16.01.2014, 17:51
    #38528655
Озверин
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
OOП Java
_newcomer_,

самый интересный вопрос: препод преподавал ранее физкультуру или труд
...
Рейтинг: 0 / 0
16.01.2014, 18:26
    #38528706
Molya
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
OOП Java
Код: 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.
package esep2_2;

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.logging.Level;
import java.util.logging.Logger;

public class Date {

    private int day;
    private int month;
    private int year;
    Date myDate;
    Calendar calendar = Calendar.getInstance();
    SimpleDateFormat formattedDate = new SimpleDateFormat("dd.MM.yyyy");

    public int getDay() {
        return day;
    }

    public void setDate(int day) {
        this.day = day;
    }

    public int getMonth() {
        return month;
    }

    public void setMonth(int month) {
        this.month = month;
    }

    public int getYear() {
        return year;
    }

    public void setYear(int year) {
        this.year = year;
    }

    public Date() {
        this.day = calendar.get(Calendar.DAY_OF_MONTH);
        this.month = calendar.get(Calendar.MONTH);
        this.year = calendar.get(Calendar.YEAR);
        addYear();
        minusDay();

    }

    public Date(int day) {
        this.day = day;
        this.month = calendar.get(Calendar.MONTH);
        this.year = calendar.get(Calendar.YEAR);
        addYear();
        minusDay();
    }

    public Date(int day, int month) {
        this.day = day;
        this.month = month;
        this.year = calendar.get(Calendar.YEAR);
        addYear();
        minusDay();
    }

    public Date(int day, int month, int year) {
        this.day = day;
        this.month = month;
        this.year = year;
        addYear();
        minusDay();
    }

    public final void addYear() {//Увеличивает дату на один год
        try {

            int a = getYear() + 1;
            String s = getDay() + "." + getMonth() + "." + a;
            myDate = formattedDate.parse(s);
            System.out.println(myDate);
        } catch (ParseException ex) {
            Logger.getLogger(Date.class.getName()).log(Level.SEVERE, null, ex);
        }
    }

    public final void minusDay() {//Уменьшить дату на 2 дня
        try {

            int a = getDay() - 2;
            String s = a + "." + getMonth() + "." + getYear();
            myDate = formattedDate.parse(s);
            System.out.println(myDate);
        } catch (ParseException ex) {
            Logger.getLogger(Date.class.getName()).log(Level.SEVERE, null, ex);
        }
    }

   

    
}

...
Рейтинг: 0 / 0
16.01.2014, 18:33
    #38528721
_newcomer_
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
OOП Java
Molya
Код: java
1.
2.
3.
public final void minusDay() {//Уменьшить дату на 2 дня
        try {
            int a = getDay() - 2;


Не боитесь, что дата < 1 будет?
Не закрадываются мысли, что при изменении дня хотя бы на 1 может поменяться и месяц и год (и тысячелетие)? :)

(и зачем вам там final? что он вам тут дает?)

Эх.... на порадуете вы препода ответом на вопрос:
"...деструктор для освобождения памяти (с сообщением об уничтожении объекта)..."
ай-яй-яй....
...
Рейтинг: 0 / 0
16.01.2014, 18:35
    #38528724
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
OOП Java
_newcomer_Не боитесь, что дата < 1 будет?
Не закрадываются мысли, что при изменении дня хотя бы на 1 может поменяться и месяц и год (и тысячелетие)? :)

SimpleDateFormat не lanient ли по-умолчанию?
...
Рейтинг: 0 / 0
16.01.2014, 18:36
    #38528728
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
OOП Java
_newcomer_Эх.... на порадуете вы препода ответом на вопрос:
"...деструктор для освобождения памяти (с сообщением об уничтожении объекта)..."
ай-яй-яй....
Так в задании написано, а препод сказал делать через finalize, а вот будущий работадель будет рад несказанно.
...
Рейтинг: 0 / 0
16.01.2014, 18:40
    #38528736
mayton
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
OOП Java
Сабж напоминает студента который на экзамене доказывал теорему Пифагора через теорему косинусов.
...
Рейтинг: 0 / 0
16.01.2014, 18:43
    #38528740
_newcomer_
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
OOП Java
BlazkowiczSimpleDateFormat не lanient ли по-умолчанию?
Тсссс...
Надо же спросить, что автор про это думает :)
...
Рейтинг: 0 / 0
16.01.2014, 20:18
    #38528844
Usman
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
OOП Java
MolyaКласс-родитель и его поля: Дата (три числа):день, месяц, год
Функция-метод 1 обработки данных: Увеличить год на 1
Функция-метод 2 обработки данных: Уменьшить дату на 2 дня
Код: 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.
public class Date {

	private final java.util.GregorianCalendar CALENDAR;

	public Date() {
		CALENDAR = new java.util.GregorianCalendar();
	}

	public Date(int day, int month, int year) {
		CALENDAR = new java.util.GregorianCalendar(year, month - 1, day);
	}

	public boolean isLeapYear() {
		return CALENDAR.isLeapYear(CALENDAR.get(java.util.Calendar.YEAR));
	}

	public void minusTwoDays() {
		CALENDAR.add(java.util.Calendar.DAY_OF_MONTH, -2);
	}

	public void plusFiveDays() {
		CALENDAR.add(java.util.Calendar.DAY_OF_MONTH, 5);
	}

	public void plusOneYear() {
		CALENDAR.add(java.util.Calendar.YEAR, 1);
	}

	@Override
	public String toString() {
		return CALENDAR.getTime().toString();
	}
}

...
Рейтинг: 0 / 0
16.01.2014, 20:40
    #38528868
Molya
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
OOП Java
Usman, большое спасибо!!!
...
Рейтинг: 0 / 0
16.01.2014, 21:10
    #38528895
mayton
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
OOП Java
Прикольный фасад получился.
...
Рейтинг: 0 / 0
16.01.2014, 21:17
    #38528901
_newcomer_
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
OOП Java
maytonПрикольный фасад получился.
Ага... Тогда уж сразу
Код: java
1.
public class Date extends GregorianCalendar
...
Рейтинг: 0 / 0
Форумы / Java [игнор отключен] [закрыт для гостей] / OOП Java / 23 сообщений из 23, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]