Вобщем, дали мне такое задание:
| Цитата | На JAVA. Желательно в JCreator. Создать тип Date (дата), включающий члены-данные day, month, year и функции-члены. Определить статические член-данные Default_day, определяющий дату по умолчанию. Также задать несколько конструкторов Date(int, int, int), Date (int, int), Date(int), Date(). Определить функцию член Set_default (int, int, int), формирующую значение даты по умолчанию. Сформировать const функции-члены: Day(), Month(), Year(), выделяющие день, месяц и год для заданной даты. Определить вспомогательную функцию leapyear(int), определяющую, является ли год високосным. Задать функцию, осуществляющую вывод даты в удобном формате. Определите функции add_day(int), add_month(int), add_year(int), позволяющие увеличить заданную дату на соответствующее число дней, месяцев, лет. Перегрузить операторы: ==, !=, <, > (сравнение дат на равенство, неравенство, меньше и больше); ++, -- (увеличение, уменьшение заданной даты на 1 день); +,- (увеличение, уменьшение даты на заданное количество дней.) Определите функцию main(), демонстрирующую применение заданных функций.
|
Я его как бы выполнил в Sun ONE Studio 5:| Код | public class Z2 { private int day, month, year; private final static int MONTHS[]={0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31}; public void Z2(int d, int m, int y) { day=d; month=m; year=y; } public final static void main(String[] args) { System.out.println(Day()); } public final int Day() {return day;} public final int Month() {return month;} public final int Year() {return year;}
public final boolean leapyear() {return (year % 4)!=0;} public final String toString() { return String.valueOf(day)+'.'+String.valueOf(month)+'.'+String.valueOf(year); } public final int addDay(int add) { day+=add; while(day>MONTHS[month]) { day-=MONTHS[month]; addMonth(1); } return day; } public final int addMonth(int add) { month+=add; while(month>MONTHS.length) { month-=MONTHS.length; addYear(1); } return month; } public final int addYear(int add) {return year+=add;} }
|
Вопросы: 1. При компиляции получаю ошибку | Цитата | Z2.java [10:1] non-static method Day() cannot be referenced from a static context System.out.println(Day()); ^ 1 error Errors compiling Z2. |
2. Странное задание, вроде, в Java нет перегрузки операторов. |