我的java代码计算给定日期一周的发言权有什么问题

我的java代码计算给定日期一周的发言权有什么问题,java,Java,一种算法的伪代码,用于计算给定时间的星期几 1753年以后的日期如下。 让 D 是当月的一天(从1日到31日), M 是一个整数,表示 年度月份(其中 1. 表示一月, 2. 表示二月,依此类推), 和 Y 表示年份。然后,该算法按顺序执行以下步骤: If m is less than 3 Add 12 to m and subtract one from y End if Set C to be the year of the century (e.g., 10 for the year 20

一种算法的伪代码,用于计算给定时间的星期几 1753年以后的日期如下。 让 D 是当月的一天(从1日到31日), M 是一个整数,表示 年度月份(其中 1. 表示一月, 2. 表示二月,依此类推), 和 Y 表示年份。然后,该算法按顺序执行以下步骤:

If m is less than 3
Add 12 to m and subtract one from y
End if
Set C to be the year of the century (e.g., 10 for the year 2010)
Set D to be the century (e.g., 20 for the year 2010)
Divide 13 * (m + 1) by 5 and call the quotient W
Divide C by 4 and call the quotient X
Divide D by 4 and call the quotient Y
Set Z to be W + X + Y + d + C - 2 * D
Divide Z by 7 and call the remainder day
If day is less than 0
Add 7 to day
End if
价值 白天 然后给出一周中的某一天 0= 星期六, 1= 星期天,起来 到 6= 星期五

到目前为止,我掌握的代码是:

public static String dayOfWeek( SimpleDate date ) {
        // TO BE COMPLETED
        int[] d = {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};
        int[] m = {1,2,3,4,5,6,7,8,9,10,11,12};
        int y = SimpleDate(int year);

        if (m < 3) {
            m + 12;
            y - 1;
        }
        C = SimpleDate(int year[2:3];
        D = SimpleDate(int year[0:1];
        W = 13 * (m + 1) / 5;
        X = C / 4;
        Y = D / 4;
        Z = W + X + Y + d + C - 2 * D;
        day = Z % 7;
        if (day < 0) {
            day + 7;
        }
公共静态字符串dayOfWeek(SimpleDate日期){
//待完成
int[]d={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};
int[]m={1,2,3,4,5,6,7,8,9,10,11,12};
int y=简化日期(int年);
if(m<3){
m+12;
y-1;
}
C=简化日期(整数年[2:3];
D=简化日期(整数年[0:1];
W=13*(m+1)/5;
X=C/4;
Y=D/4;
Z=W+X+Y+d+C-2*d;
日=Z%7;
如果(天<0){
第+7天;
}
我不知道如何为C和D设定年份,也不知道如何在开始时设定年份。
另外,当我使用了m+12之类的代码时,我会收到一个错误,说+不是一个station

使用
java.util.Calendar
和do如何

calendar.get(Calendar.DAY_OF_WEEK);

使用
java.util.Calendar
和do如何

calendar.get(Calendar.DAY_OF_WEEK);
使用:

使用:



问题是…请提出一个具体的问题,你可能会得到一个具体的答案。在目前的状态下,这个问题基本上相当于:“请为我做家庭作业”。让人们理解您的代码的第一步是使用合理的变量名。您当前的代码对任何外人来说都毫无意义。您的问题和代码表明您需要花更多的时间学习Java编程的基础知识。例如,您的代码中满是非语句,如
m+12
y-1
。此网站不存在,因此学生可以将一堆非感官代码组合在一起,并期望其他人为他们做作业。作为一个简短提示,您应该将
m+1
替换为
m=m+1
。这将让您开始:。希望明天不到期。您今晚可能无法完成。是吗
year[2:3]
year[0:1]
意味着python??问题是……请提出一个特定的问题,您可能会得到一个特定的答案。在当前状态下,这个问题基本上相当于:“请为我做家庭作业”。让人们理解您的代码的第一步是使用合理的变量名。您当前的代码对任何外人来说都毫无意义。您的问题和代码表明您需要花更多的时间学习Java编程的基础知识。例如,您的代码中满是非语句,如
m+12
y-1
。此网站不存在,因此学生可以将一堆非感官代码组合在一起,并期望其他人为他们做作业。作为一个简短提示,您应该将
m+1
替换为
m=m+1
。这将让您开始:。希望明天不到期。您今晚可能无法完成。是吗
year[2:3]
year[0:1]
意味着成为python??对于这个显而易见的家庭作业,可能不是一个选项……你可以这样做,但正如你看到的OP的代码一样,很明显,这是一个排序的分配。首先,你必须将日历的日期设置为给定的日期。你可能想在中编辑它:)@stepanian-我想大家都知道日历可以设置为任何日期。对于这个显而易见的家庭作业,可能不是一个选项……你可以这样做,但正如你看到的OP的代码,很明显,这是一个排序的作业。首先,你必须将日历的日期设置为给定的日期。你可能想在:)@stepanian-我想大家都知道日历可以设置为任何日期。问题与Jigar的答案相同。这会给你一周中的今天,而不是一个给定的日期:)来吧,伙计们,这太简单了:)@stepanian-我想大家都知道,你可以在任何日期使用这种方法。因为它涉及到这个问题,这真的不重要。很明显,OP在理解Java的基础知识方面还有很多工作要做。@jahroy如果你已经回答了这么简单的问题,那么你还可以包括血淋淋的细节。问题与Jigar的答案相同。这会给你一周中的今天,而不是给定的日期:)来吧,伙计们,这太简单了:)@stepanian-我认为大家都知道,你可以在任何时候使用这种方法。因为它涉及到这个问题,所以它真的不重要。很明显,OP在理解Java的基础知识方面还有很多工作要做。@jahroy如果你已经回答了这么简单的问题,那么你最好包括gory d细节。