A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

题目:输入某年某月某日,判断这一天是这一年的第几天?
程序分析:以3月5日为例,应该先把前两个月的加起来,然后再加上5天即本年的第几天,特殊情况,闰年且输入月份大于3时需考虑多加一天。
import java.util.Scanner;
public class Prog14{
        public static void main(String[] args){
                Scanner scan = new Scanner(System.in).useDelimiter("\\D");//匹配非数字
                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;
        }

16 个回复

倒序浏览
赞一个,,加油
回复 使用道具 举报
运行试试看
回复 使用道具 举报
加油吧!!!!!!!!!!!!
回复 使用道具 举报
不错 加油
回复 使用道具 举报
手机党只有先截屏再敲到电脑上,如果手机也能开发java,那酸爽
回复 使用道具 举报
哎呦,不错哦
回复 使用道具 举报
scan.close()是必须的嘛???
回复 使用道具 举报
淋雨一直走 发表于 2016-8-1 16:29
scan.close()是必须的嘛???

好像只能输数字,输字母会报错
回复 使用道具 举报
不错,学习了
回复 使用道具 举报
还可以 小伙子
回复 使用道具 举报
可以可以
回复 使用道具 举报
不错不错,赞一个!
回复 使用道具 举报
6666666666666   well done!
回复 使用道具 举报
66666666666666
回复 使用道具 举报
赞一个,,加油
回复 使用道具 举报
挺好的,不错
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马