网站psd杭州百度seo优化
程序分析:以3月5日为例,应该先把前两个月的加起来,然后再加上5天即本年的第几天,特殊情况,闰年且输入月份大于3时需考虑多加一天。
import java.util.Scanner;public class test {public static void main(String[] args) {Scanner scanner = new Scanner(System.in);System.out.println("请输入年、月、日:");int year = scanner.nextInt();int month = scanner.nextInt();int day = scanner.nextInt();int flag = 0;if ((year % 4 == 0 && year % 100 != 0) || year % 400 == 0)flag = 1;elseflag = 0;switch (month - 1) {case 11:day += 30;case 10:day += 31;case 9:day += 30;case 8:day += 31;case 7:day += 31;case 6:day += 30;case 5:day += 31;case 4:day += 30;case 3:day += 31;case 2:day += 28 + flag;case 1:day += 31;case 0:day += 0;break;default:System.out.println("请输入正确的月份。");break;}System.out.println("这一天是这一年的第" + day + "天");}}
示例输出:
另一个方法:
import java.util.Scanner;public class test {public static void main(String[] args){Scanner scan = new Scanner(System.in);System.out.print("请输入当前日期(年-月-日):");int year = scan.nextInt();int month = scan.nextInt();int date = scan.nextInt();scan.close();System.out.println("今天是"+year+"年的第"+analysis(year,month,date)+"天");}//判断天数private static int analysis(int year, int month, int date){int n = 0;int[] month_date = new int[] {0,31,28,31,30,31,30,31,31,30,31,30};if((year%400)==0 || ((year%4)==0)&&((year%100)!=0))month_date[2] = 29;for(int i=0;i<month;i++)n += month_date[i];return n+date;}
}
输出: