首页 新闻 会员 周边 捐助

Java 基础

0
悬赏园豆:5 [已解决问题] 解决于 2017-07-19 21:08

 输入年份,和天数,判断是这年的第几个月,这个月的第几天?求大神解答,在线等哦!

wpw的主页 wpw | 初学一级 | 园豆:26
提问于:2017-07-19 14:48
< >
分享
最佳答案
0
package c;

import java.util.Scanner;

import io.netty.handler.codec.spdy.SpdyStreamFrame;

public class Day {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        Scanner in =new Scanner(System.in);
        int months[]={31,28,31,30,31,30,31,31,30,31,30,31};
        while(in.hasNext())
        {
            int year=in.nextInt();
            int days=in.nextInt();
            if(isR(year))
            {
                months[1]=29;
            }
            else
            {
                months[1]=28;
            }
            int sum=0;
            int m=0;
            for(int i=0;i<12;i++)
            {
                sum+=months[i];
                if(sum>=days)
                {
                    m=i+1;
                    break;
                }
            }
            System.out.println(m+"月"+(days-(sum-months[m-1]))+"日");
            
        }
    }
    
    public static boolean isR(int year)
    {
        if((year%4==0 && year%100!=0) || year%400==0)
        {
            return true;
        }
        return false;
        
        
    }

}

运行结果如下:

收获园豆:5
fcyh | 小虾三级 |园豆:568 | 2017-07-19 18:02

谢谢大神!

wpw | 园豆:26 (初学一级) | 2017-07-19 21:07

@wpw:  能注释一下吗 嘻嘻

wpw | 园豆:26 (初学一级) | 2017-07-19 21:12

@wpw: 注释?注释啥

fcyh | 园豆:568 (小虾三级) | 2017-07-19 21:42

@鸿燕藏锋: 不用了,谢谢大神哟

wpw | 园豆:26 (初学一级) | 2017-07-19 21:43

@wpw: 可以加我QQ。以后交流技术。2768705266

fcyh | 园豆:568 (小虾三级) | 2017-07-19 21:44

@鸿燕藏锋: 好荣幸!

wpw | 园豆:26 (初学一级) | 2017-07-24 10:37
其他回答(2)
0

dayofyear...这个代码发过好多篇.就是定一个月份天数数组1-12每个月的天数,然后输入天数循环减去.直到不能减.就是月份了.

输入年份是为了判断处理闰年逻辑.

吴瑞祥 | 园豆:29449 (高人七级) | 2017-07-19 16:09

能给出具体的代码?谢谢呦!爱你

支持(0) 反对(0) wpw | 园豆:26 (初学一级) | 2017-07-19 16:11
0

在Java中,你可以使用java.time.LocalDate类来处理日期相关的操作。首先,你需要将年份和天数作为输入,并使用ofYearDay()方法创建一个LocalDate对象。然后,你可以使用getMonthValue()方法获取月份,使用getDayOfMonth()方法获取天数。

以下是一个示例代码:

import java.time.LocalDate;

public class MonthDayOfYear {
    public static void main(String[] args) {
        int year = 2022; // 设置年份
        int dayOfYear = 100; // 设置天数

        LocalDate date = LocalDate.ofYearDay(year, dayOfYear); // 创建日期对象

        int month = date.getMonthValue(); // 获取月份
        int dayOfMonth = date.getDayOfMonth(); // 获取天数

        System.out.println("这是 " + month + " 月的第 " + dayOfMonth + " 天");
    }
}

在上面的示例中,我们假设输入的年份为2022,天数为100。程序将输出这是 4 月的第 10 天,表示该日期为2022年4月10日。

请注意,此示例仅包含了基本的日期处理,你可以根据需要进行修改和扩展。

小九九呀 | 园豆:383 (菜鸟二级) | 2023-07-21 14:40
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册