急!求高手帮我解决一道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);
}
}
请高手速帮忙啊!!!!! 展开
题目提示:(元旦的星期数+该日期与元旦的间隔天数)%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);
}
}
请高手速帮忙啊!!!!! 展开
1个回答
展开全部
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;
}
}
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;
}
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询