С Новым годом! Форум программистов, компьютерный форум, киберфорум
Java SE (J2SE)
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.68/25: Рейтинг темы: голосов - 25, средняя оценка - 4.68
1 / 1 / 1
Регистрация: 04.11.2015
Сообщений: 62

Создать класс для работы с датой. Переделать код с C#

08.12.2016, 13:28. Показов 4884. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Задание:
Создать класс для работы с датой. Разработать следующие элементы класса:
a. Поле DataTime data.
b. Конструкторы, позволяющие установить:
• заданную дату
• дату 1.01.2009
c. Методы, позволяющие:
• вычислить дату предыдущего дня;
• вычислить дату следующего дня;
• определить сколько дней осталось до конца месяца.
d. Свойства:
• позволяющее установить или получить значение поле класса (доступно для чтения и записи)
• позволяющее определить год высокосным (доступно только для чтения)
e. Индексатор, позволяющий определить дату i-того по счету дня относительно установленной даты (при отрицательных значениях индекса отсчет ведется в обратном порядке).
f. Перегрузку:
• операции !: возвращает значение true, если установленная дата не является последним днем месяца, иначе false;
• констант true и false: обращение к экземпляру класса дает значение true, если установленная дата является началом года, иначе false;
• операции &: возвращает значение true, если поля двух объектов равны, иначе false;
• преобразования класса DataTime в тип string (и наоборот).

C#
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
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
 
namespace ConsoleApplication6
{
    class Date
    {
        DateTime date;
 
        public Date(DateTime date)
        {
            this.date = date;
        }
 
        public Date(string dateString)
        {
            date = DateTime.Parse(dateString);
        }
 
        public DateTime PrevDay()
        {
            return date.Subtract(TimeSpan.FromDays(1));
        }
 
        public DateTime NextDay()
        {
            return date.Add(TimeSpan.FromDays(1));
        }
 
        public int DaysLeft()
        {
            return DateTime.DaysInMonth(date.Year, date.Month) - date.Day;
        }
 
        public DateTime Date1
        {
            get { return date; }
            set { date = value; }
        }
 
        public bool IsLeap
        {
            get { return DateTime.IsLeapYear(date.Year); }
        }
 
        public DateTime this[int index]
        {
            get { return date.AddDays(index); }
        }
 
        public static bool operator !(Date a)
        {
            return DateTime.DaysInMonth(a.Date1.Year, a.Date1.Month) != a.Date1.Day;
        }
 
        public static bool operator true(Date a)
        {
            return a.date.Day == 1 && a.date.Month == 1;
        }
 
        public static bool operator false(Date a)
        {
            return a.date.Day != 1 || a.date.Month != 1;
        }
 
        public static bool operator &(Date a, Date b)
        {
            return a.Date1.Equals(b.Date1);
        }
 
        public static explicit operator String(Date obj)
        {
            return " Год: " + obj.date.Year + " Месяц: " + obj.date.Month + " Число: " + obj.date.Day;
        }
    }
 
    class programm
    {
        static void Main(string[] args)
        {
            
            string st1 = "2009,1,1";
            Date f = new Date(st1);
            Console.Write("введите i: ");
            string st2 = Console.ReadLine();
            int i = Convert.ToInt16(st2);
            Console.Write("заданная дата: ");
            Console.WriteLine(f.Date1);
            Console.Write("прошлый день: ");
            Console.WriteLine(f.PrevDay());
            Console.Write("следующий день: ");
            Console.WriteLine(f.NextDay());
            Console.Write("дней до конца месяца: ");
            Console.WriteLine(f.DaysLeft());
            Console.Write("високосный ли год?: ");
            Console.WriteLine(f.IsLeap);
            Console.WriteLine("датa i-того по счету дня относительно установленной даты: {0}", f[i]);
            Console.WriteLine("true, если дата не является последним днем месяца, иначе false: {0}", !f);
            Console.WriteLine("преобразования класса DataTime в тип string: {0}", (string)f);
            Console.WriteLine("");
            Console.Write("введите дату: ");
            string st = Console.ReadLine();
            Date A = new Date(st);
            Console.Write("определенная дата: ");
            Console.WriteLine(A.Date1);
            Console.Write("прошлый день: ");
            Console.WriteLine(A.PrevDay());
            Console.Write("следующий день: ");
            Console.WriteLine(A.NextDay());
            Console.Write("дней до конца месяца: ");
            Console.WriteLine(A.DaysLeft());
            Console.Write("високосный ли год?: ");
            Console.WriteLine(A.IsLeap);
            Console.WriteLine("true, если поля двух объектов равны, иначе false: {0}", f & A);
            Console.ReadKey();
        }
    }
}
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
08.12.2016, 13:28
Ответы с готовыми решениями:

Создать класс для работы с датой
Доброго времени суток всем! В программировании я не силён,поэтому у меня возникла данная проблема В университете задали задание : ...

Создать класс для работы с датой. Разработать следующие элементы класса
Можно полный код для запуска программы? Создать класс для работы с датой. Разработать следующие элементы класса: a. Поле DataTime data....

Построить класс для работы с датой
Добрый день товарищи, очень нужна помощь, буду благодарен каждому ответу. Задание: Постpоить класс для работы с датой. Класс должен...

2
12.12.2016, 01:15

Не по теме:

pashocheck, трудность поменять Console.write на System.out.println и поменять пару нерабочих методов у Date из шарпа на джаву ?

0
1 / 1 / 1
Регистрация: 04.11.2015
Сообщений: 62
12.12.2016, 15:44  [ТС]
Попробуй поменяй, я с этим больше дня возился, так и не вышло
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
12.12.2016, 15:44
Помогаю со студенческими работами здесь

Разработать класс DateTime для работы с датой/временем
В качестве основы взять функции и структуры для работы с временем из стандартной библиотеки (struct tm, time, localtime, mktime) ...

Cоздать класс для работы с датой на основе DateTime
тип данных DateTime, на основе которого необходимо создать класс для работы с датой. Данный класс должен содер Методы, позволяющие: •...

PHP Класс для расширенной работы с Датой (Unix)
Добрый ночи, не знаете ли вы библиотеки которые работают с датой формата (Unix). Пример (%sмин, s%час, %sд, неделя, %s янв. ...). ...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
изучаю kubernetes
lagorue 13.01.2026
А пригодятся-ли мне знания kubernetes в России?
сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/ O1rJuneU_ls https:/ / vkvideo. ru/ video-115721503_456239114
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR ВВЕДЕНИЕ Введу сокращения: аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi ветка по-частям. коммит Create переделка под биомассу. txt вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru