急!求高手帮我解决一道java编程题~

题目:参考例题,求任一天是星期几。题目提示:(元旦的星期数+该日期与元旦的间隔天数)%7,余数为星期数,0表示星期日。程序的输入应为年号和指定日期与元旦的间隔天数例题:使... 题目:参考例题,求任一天是星期几。
题目提示:(元旦的星期数+该日期与元旦的间隔天数)%7,余数为星期数,0表示星期日。程序的输入应为年号和指定日期与元旦的间隔天数

例题:使用对话框进行程序的输入输出。输入一个代表年号的整数,求这一年的元旦是星期几
元旦是星期几的计算公式(设年号为y,按整数运算)如下:
s=y+(y-1)/4-(y-1)/100+(y-1)/400;
s除以7的余数即为星期数,余数为0表示星期日。

import javax.swing.JOptionPane;
class YuanDan{
public static void main(String args[]){
int s,y;
y=Integer.parseInt(JOptionPane.showInputDialog("请输入一个年号:"));
s=y+(y-1)/4-(y-1)/100+(y-1)/400;
s=s%7;
JOptionPane.showMessageDialog(null,y+"年的元旦是星期"+s);
}
}

请高手速帮忙啊!!!!!
展开
 我来答
电子产品第一线
2007-10-14 · TA获得超过228个赞
知道小有建树答主
回答量:332
采纳率:0%
帮助的人:236万
展开全部
import javax.swing.JOptionPane;
class YuanDan{
public static void main(String args[]){
int s,y,m,d;
String day=JOptionPane.showInputDialog("请输入一个日期(年-月-日):");
y=Integer.parseInt(day.substring(0,day.indexOf("-")));
m=Integer.parseInt(day.substring(day.indexOf("-")+1,day.lastIndexOf("-")));
d=Integer.parseInt(day.substring(day.lastIndexOf("-")+1,day.length()));
s=y+(y-1)/4-(y-1)/100+(y-1)/400;
for(int a=1;a<m;a++)
s+=GetDays(y,a);
s+=(d-1);
System.out.println(y+":"+m+":"+d);
s=s%7;
JOptionPane.showMessageDialog(null,y+"年"+m+"月"+d+"日"+"是星期"+s);

}
public static boolean IfLeap(int y)//是否闰年
{
if(y%400==0)return true;
if(y%100==0)return false;
if(y%4==0)return true;
return false;
}
public static int GetDays(int y,int m)//获得某年某月的天数
{
if(m==4||m==6||m==9||m==11)return 30;
if(m==2)
{
if(IfLeap(y))return 29;
else return 28 ;
}
return 31;
}
}
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式