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

来源:百度知道 编辑:UC知道 时间:2024/05/22 03:54:08
题目:参考例题,求任一天是星期几。
题目提示:(元旦的星期数+该日期与元旦的间隔天数)%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);
}
}

请高手速帮忙啊!!!!!

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