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


/* (程序头部注释开始) </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; } } }