前段时间练习了一个求闰年的功能,现在就可以用上啦,这次写一个不借助类库的时间函数,利用基础代码写一个计算求日期处于当年的第多少天的函数。

虽然也有简单的方法,例如直接定义每月的天数累加,然后加上当月的天数就可以算出当天处于当年的第多少天。但是这次咋们还是换种方法,虽然麻烦点,但好歹带点逻辑性。

首先我们需要一个数组,专门来存放指定年份的日历天数(必须自带闰年检测啦,不然二月份天数就不好算啦)。这里我们就新建一个函数好了,利用for循环和if判断,来按照月份的大小月规则来存放每月天数,然后让这个函数返回int数组值。

接下来就是输入输出啦,按照惯例,我们还是添加了输入格式检错的功能,月份肯定不会超过12或者小余1的吧,天数也不能超过当月的天数,不然要报错重新输入。

接下来直接利用for循环给总天数值days累加,例如7月8号,那么就是7月前(不包括7月)月份的所有天数,加上7月当月的day日期,即可得出总天数。

下面来看看代码吧:

import java.util.Scanner;

public class Test010 {

public static void main(String args[]){

Test010 t10=new Test010();

int days=0;

Scanner reader=new Scanner(System.in);

System.out.print("请输入年份:");

int year=reader.nextInt();

int[] monthA=t10.calendar(year);

System.out.print("请输入月份:");

int month=reader.nextInt();

System.out.print("请输入当月日期:");

int day=reader.nextInt();

while(true){

if(month>12||month<1){

System.out.print("月份格式错误,请重新输入:");

month=reader.nextInt();

continue;

}else if(day>monthA[month]||day<1){

System.out.print("日期范围错误,请重新输入:");

day=reader.nextInt();

continue;

}else{

break;

}

}

for(int i=1;i

days+=monthA[i];

}

days+=day;

System.out.printf("%d年%d月%d日是当年的第%d天",year,month,day,days);

}

public int[] calendar(int year){    //当年日历

int monthA[]=new int[13];

for(int i=1;i

if(i==1||i==3||i==5||i==7||i==8||i==10||i==12){

monthA[i]=31;

}else if(i==4||i==6||i==9||i==11){

monthA[i]=30;

}else{

if(year%4==0 && year%100!=0 || year%400==0){

monthA[i]=29;

}else{

monthA[i]=28;

}

}

}

return monthA;

}

}

java调用系统时间函数_JAVA自学笔记:不使用系统函数来计算日期处于当年的第多少天...相关推荐

  1. java调节音量代码_用Java调用VC音量控制程序_java

    前言 本文通过java的Runtime接口来实现调用其他语言实现的应用程序,进而来实现对计算机硬件信息的监控和控制.本文是多媒体信息系统的一个部分,就是调整计算机音量. 使用VC编写音量控制程序 本控 ...

  2. python获取当前时间的函数_java/python中获取当前系统时间,并与字符串相互转换格式,或者转化成秒数,天数等整数...

    java转换成秒数 Date类有一个getTime()可以换回秒数,例如: public classDateToSecond {public static voidmain(String[] args ...

  3. java 获取系统时间不对_java new Date()得到的时间和系统时间不一样

    造成这种问题的原因可能是:你的操作系统时区跟你JVM的时区不一致. 你的操作系统应该是中国的时区吧,而JVM的时区不一定是中国时区,你在应用服务器的Java虚拟机添加如下配置: -Dfile.enco ...

  4. java调用其他程序吗_java本地方法如何调用其他程序函数,方法详解

    JNI是Java Native Interface的缩写,中文为JAVA本地调用.从Java 1.1 开始,Java Native Interface (JNI)标准成为java平台的一部分,它允许J ...

  5. java form的时间格式_java date日期格式

    packagedateformat;import java.util.*;/*** Title: 日期转换函数 * Description: 有以下功能方法可以使用 * function 1:date ...

  6. java度量衡换算器代码_Java开发笔记(四)Java帝国的度量衡

    秦始皇统一中国之后,实行"书同文,车同轨",把货币和各种度量衡都统一起来,从而缔造了一个秩序井然的帝国.既然统一度量衡是每个帝国都要做的事情,Java帝国也不例外,对于人生地不熟的 ...

  7. java网上书店视频教学_Java自学视频教程

    <Java自学视频教程> 第1篇入门篇 第1章 Java开发前奏2 (视讲解:19分钟) 1.1 Java简介3 1.1.1 Java语言3 1.1.2 与其他语言相比Java的优势3 1 ...

  8. java中正则表达式函数_java正则表达式PHP中的正则表达式函数介绍

    java正则表达式PHP中的正则表达式函数介绍 正则表达式(Regular Expression) 正则表达式系统: 1.POSIX 2.Perl PHP中使用的regex是PCRE: NOTE:PC ...

  9. java调用c视频接口_JAVA本地调用(JNI- java调用c)

    记录一下工作内容,对术语了解不多,暂且这样记着吧. java调用c 一.写jni的步骤如下: 1.创建java类,定义接口函数,使用native修饰: 2.将java类编译成class: 3.将cla ...

最新文章

  1. 【转】读马化腾的产品设计观
  2. 《神秘的程序员们》漫画47:这些年你读过的书
  3. 如何让产品不受到技术限制快速迭代?
  4. 计算机网络工程课程设计报告,计算机网络工程课程设计报告.doc
  5. 2 0 2 0 年 第 十 一 届 蓝 桥 杯 - 省赛 - CC++大学C组 - A.约数个数
  6. 在AWS控制台里根据需要打开指定的通信端口
  7. 网络数据包收发流程(四):协议栈之packet_type
  8. 如何清理不必要的事件日志分类
  9. 嵌入式软件开发工程师谈软件架构的设计
  10. iview表单验证不生效问题注意点
  11. 纽约州立大学宾汉姆顿大学计算机科学专业,纽约州立大学宾汉姆顿大学
  12. 线性表java实现之顺序存储源码
  13. 线程池ThreadPoolExecutor使用
  14. Unix命令行程序和内建指令
  15. C# 基础(三十一)c#实现 正弦sin、反正弦arcsin,正切tan、反正切arctan:求角度值
  16. IVL和SVL的区别
  17. SDK对接遇到的问题与解决
  18. 微信拼车小程序无服务器,滴滴顺风车下架 拼车微信小程序笑了
  19. Android 中的代码混淆
  20. Python编程基础 第七章 编程练习 用户从键盘上输入一个字符串,如果该字符串的内容不是有效的数值,则输出invalid;如果是有效的数值,再判断其是否是整数,如果是整数则输出yes,否则输出no。

热门文章

  1. 悲催的跨平台文献管理能力
  2. OpenFeign服务接口调用
  3. libgstreamer-1.0.so.0: cannot open shared object file: No such file or directory
  4. RPC 笔记(07)— socket 通信(多进程服务器)
  5. Go 学习笔记(66)— Go 并发同步原语(sync.Mutex、sync.RWMutex、sync.Once)
  6. 【spring】spring基于xml的声明式事务控制
  7. sql server登录名、服务器角色、数据库用户、数据库角色、架构区别联系
  8. Pytorch系列教程-使用Seq2Seq网络和注意力机制进行机器翻译
  9. MindSpore数据集mindspore::dataset
  10. Nucleus 实时操作系统中断(下)