这是我在这个网站上的第一个问题,但我一直觉得这个网站非常有用。
我的问题是:
- 您要求对方给出日期(例如,填写日期 [dd-mm-yyyy]: 16-10-2013)
- 你不必问2年之间的间隔(例如,给出一个间隔[yyyy-yyyy]:1800-2000)
当程序运行时,它必须显示给定日期是星期几。在这种情况下,它是一个星期三。比节目还要看哪一年,在这之间的间隔中,10 月 16 日的日期也落在了星期三。
所以最后它必须看起来像这样:
Fill in a date: [dd-mm-yyyy]: 16-10-2013
Give an interval [yyyy-yyyy]: 1900-2000
16 October was a wednesday in the following years:
1905 1911 1916 1922 1933 1939 1944 1950 1961 1967 1972 1978 1989 1995 2000
完整日期是 2013 年 10 月 16 日星期三
小(或最大)问题是,我不允许在 java 中使用 DATE.function。
如果有人可以帮助我完成第二部分,我会非常高兴,因为我不知道我应该怎么做
要找出给定日期是一周中的哪一天,我使用 Zeller Congruence
class Day {
Date date; //To grab the month and year form the Date class //In this class I check whether the giving date is in the correct form int day; int year1; //First interval number int year2; //Second interval number final static String[] DAYS_OF_WEEK = { "Saturday", "Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday" }; public void dayWeekInterval{ int interval.year1; int interval.year2; for(int i = year1; year1 =< year2; year1++) { //check if the day of the week in the giving year, is the same as the //original year. } } public void dayOfTheWeek { int m = date.getMonth(); int y = date.getYear(); if (m < 3) { m += 12; y -= 1; } int k = y % 100; int j = y / 100; int day = ((q + (((m + 1) * 26) / 10) + k + (k / 4) + (j / 4)) + (5 * j)) % 7; return day; } public string ToString(){ return "" + DAYS_OF_WEEK[day] + day; }
嘿,我改了一点代码,但我不知道如何打领带。另外我忘了提一下,我不允许使用java的日期和日历功能......而且我的outlook几乎做错了什么......