由用户输入年份,月份,并计算在该月份之前共多少天

时间:2021-06-12 11:26:41
/* (程序头部注释开始) </p><p>* 程序的版权和版本声明部分 
* Copyright (c) 2011, 烟台大学计算机学院学生
* 作 者: 李兆庆
* 完成日期: 2012 年 9 月 22 日
* 输入描述:
* 问题描述及输出:从键盘上输入一个年份,并输入一个月份,计算从当前年份1月1号只当前第month个月共有多少天
(如输入年份为2011,月份为3月,则计算,从1月1号到3月1号共多少天。输入年份为2004,月份为10月,
则计算,从1月1号到10月1号共多少天即计算从1月n-1月共有多少天)
* 程序头部的注释结束
*/

import javax.swing.JOptionPane;
public class Num {

/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
String str=JOptionPane.showInputDialog("请输入您要判断的年份;");

int y = Integer.parseInt(str);

System.out.println("您输入的年份为:"+y);

String strm = JOptionPane.showInputDialog("请输入你要判断的月份为;");

int m = Integer.parseInt(strm);

System.out.println("您输入的月份为:"+m);


if (jud ( y ))
{
System.out.println(y+"是闰年.");
}
else
{
System.out.println(y+"不是闰年");
}
int d = fig(m);

if (jud(y))
{
if (m >= 2)
{
++d;
}
System.out.println("您输入该月份的天数为:"+d);
}
else
{
System.out.println("您输入该月份的天数为:"+d);
}


}


public static boolean jud (int y)
{
if (y % 400 == 0 || y % 4 == 0 && y % 100 != 0)
{
return true;
}
else
{
return false;
}
}



public static int fig(int m)
{
switch (m)
{
case 1:
return 31;
case 2:
return 31+28;
case 3:
return 31 + 31 +28;
case 4:
return 31 + 31 +28 + 30;
case 5:
return 31 + 31 +28 + 30 + 31;
case 6:
return 31 + 31 +28 + 30 + 31 + 30;
case 7:
return 31 + 31 +28 + 30 + 31 + 30 + 31;
case 8:
return 31 + 31 +28 + 30 + 31 + 30 + 31 + 31;
case 9:
return 31 + 31 +28 + 30 + 31 + 30 + 31 + 31 + 30;
case 10:
return 31 + 31 +28 + 30 + 31 + 30 + 31 + 31 + 30 + 31;
case 11:
return 31 + 31 +28 + 30 + 31 + 30 + 31 + 31 + 30 + 31 + 30;
case 12:
return 31 + 31 +28 + 30 + 31 + 30 + 31 + 31 + 30 + 31 + 30 + 31;
default:
System.out.println("对不起,您输入的月份有误!");
return 0;
}
}
}
由用户输入年份,月份,并计算在该月份之前共多少天由用户输入年份,月份,并计算在该月份之前共多少天