湖南大学Java编程题5. 计算日期

简介: 湖南大学Java编程题5. 计算日期

【问题描述】


给出年分m和一年中的第n天,算出第n天是几月几号。


【输入形式】


输入包括两个整数y,n


【输出形式】


可能有多组测试数据,对于每组数据,按yyyy-mm-dd的格式将输入中对应的日期打印出来。


【样例输入】

2000 3

2000 31

2000 40

2000 60


【样例输出】

2000-01-03

2000-01-31

2000-02-09

2000-02-29

import java.util.Scanner;
public class Main
{
  public static void main(String[] args)
  {
    Scanner s=new Scanner(System.in);
    while(s.hasNext()){
      int year=s.nextInt(),day=s.nextInt();
      int[] monthdays={0,31,28,31,30,31,30,31,31,30,31,30,31};
        if ((year%4==0 && year%100!=0)||(year%400==0)){
            monthdays[2]=29;
        }
        int month=1;
        while (day>monthdays[month]){
            day -=monthdays[month++];
            if (month==13){
              month=1;
                year++;
            }
        }
        System.out.printf("%04d-%02d-%02d\n", year, month, day);
    }
    s.close();
  }
}


相关文章
|
1天前
|
安全 Java 数据库
Java并发编程:最佳实践与性能优化
Java并发编程:最佳实践与性能优化
|
2天前
|
Java 数据处理 调度
Java多线程编程入门指南
Java多线程编程入门指南
|
2天前
|
传感器 数据采集 监控
Java串口编程入门
Java串口编程入门
|
1天前
|
前端开发 Java 开发工具
Java GUI编程:跨平台应用的设计与开发
Java GUI编程:跨平台应用的设计与开发
|
1天前
|
设计模式 Java 容器
Java多线程编程中的设计模式与挑战
Java多线程编程中的设计模式与挑战
|
1天前
|
Java API 数据库
深研Java异步编程:CompletableFuture与反应式编程范式的融合实践
【6月更文挑战第30天】Java 8的CompletableFuture革新了异步编程,提供如thenApply等流畅接口,而Java 9后的反应式编程(如Reactor)强调数据流和变化传播,以事件驱动应对高并发。两者并非竞争关系,而是互补,通过Flow API和第三方库结合,如将CompletableFuture转换为Mono进行反应式处理,实现更高效、响应式的系统设计。开发者可根据需求灵活选用,提升现代Java应用的并发性能。
14 1
|
1天前
|
安全 Java
Java多线程编程实践中的常见问题与解决方案
Java多线程编程实践中的常见问题与解决方案
|
6天前
|
Java 机器人 程序员
Java中的GUI编程入门指南
Java中的GUI编程入门指南
|
2月前
|
存储 Java 开发者
探索Java编程的奥秘:从入门到实践
本文是关于Java编程的简介,首先介绍了Java作为广泛应用的编程语言对初学者和专业人士的吸引力。接着,讲解了Java的基础概念,包括数据类型(如基本和引用类型)和变量,以及运算符和表达式。文章还提到了控制流语句,如条件语句和循环语句,用于控制程序执行流程。然后,转向面向对象编程,阐述了类与对象的概念,以及封装和继承的重要性。最后,简述了Java在Web开发、移动应用和桌面应用等领域的实际应用,并给出一个使用Swing创建简单GUI的示例。
|
2月前
|
设计模式 算法 安全
Java多线程编程实战:从入门到精通
【4月更文挑战第30天】本文介绍了Java多线程编程的基础,包括线程概念、创建线程(继承`Thread`或实现`Runnable`)、线程生命周期。还讨论了线程同步与锁(同步代码块、`ReentrantLock`)、线程间通信(等待/通知、并发集合)以及实战技巧,如使用线程池、线程安全设计模式和避免死锁。性能优化方面,建议减少锁粒度和使用非阻塞算法。理解这些概念和技术对于编写高效、可靠的多线程程序至关重要。