JAVA 基础编程练习题14 【程序 14 求日期】
14 【程序 14 求日期】
题目:输入某年某月某日,判断这一天是这一年的第几天?
程序分析:以 3 月 5 日为例,应该先把前两个月的加起来,然后再加上 5 天即本年的第几天,特殊情况, 闰年且输入月份大于 3 时需考虑多加一天。
package cskaoyan; public class cskaoyan14 {
private static int year = 0;
private static int month = 0;
private static int day = 0;
private static int[] leapYear = { 31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 };
private static int[] commonYear = { 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 };
private int sum = 0; @org.junit.Test
public void date() {
java.util.Scanner in = new java.util.Scanner(System.in);
year = in.nextInt();
month = in.nextInt();
day = in.nextInt(); try {
if (verify(year, month, day)) {
if (leapYear(year)) {
for (int i = 0; i < month - 1; i++) {
sum += leapYear[i];
}
} else {
for (int i = 0; i < month - 1; i++) {
sum += commonYear[i];
}
} sum += day; System.out.println(year + "年" + month + "月" + day + "日" + "是这一年的第" + sum + "天");
}
} catch (Throwable e) {
// TODO Auto-generated catch block
e.printStackTrace();
} finally {
in.close();
}
} private static boolean verify(int yaer, int month, int day) throws Throwable {
if (year < 1) {
throw new Exception("YEAR ERROR");
} if (month < 1 || month > 12) {
throw new Exception("MONTH ERROR");
} if (day < 1 || day > 31) {
throw new Exception("DAY ERROR");
} if (month == 4 || month == 6 || month == 9 || month == 11) {
if (day > 30) {
throw new Exception("DAY ERROR");
}
} if (month == 2) {
if (leapYear(year)) {
if (day > 29) {
throw new Exception("DAY ERROR");
}
} else {
if (day > 28) {
throw new Exception("DAY ERROR");
}
}
} return true;
} private static boolean leapYear(int year) {
if ((year % 4 == 0 && year % 100 != 0) || (year % 400 == 0 && year % 3200 != 0)) {
return true;
} else {
return false;
}
}
}
JAVA 基础编程练习题14 【程序 14 求日期】的更多相关文章
- 6、50道JAVA基础编程练习题跟答案
50道JAVA基础编程练习题 [程序1] 题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少? 程序分析 ...
- 50道JAVA基础编程练习题
50道JAVA基础编程练习题 [程序1] 题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子对数为多少? 程序分析 ...
- 50道JAVA基础编程练习题 - 题目
50道JAVA基础编程练习题[1]题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少? [2]题目:判断 ...
- JAVA 基础编程练习题38 【程序 38 求字符串长度】
38 [程序 38 求字符串长度] 题目:写一个函数,求一个字符串的长度,在 main 函数中输入字符串,并输出其长度. package cskaoyan; public class cskaoyan ...
- JAVA 基础编程练习题29 【程序 29 求矩阵对角线之和】
29 [程序 29 求矩阵对角线之和] 题目:求一个 3*3 矩阵对角线元素之和 程序分析:利用双重 for 循环控制输入二维数组,再将 a[i][i]累加后输出. package cskaoyan; ...
- JAVA 基础编程练习题26 【程序 26 求星期】
26 [程序 26 求星期] 题目:请输入星期几的第一个字母来判断一下是星期几,如果第一个字母一样,则继续 判断第二个字母. 程序分析:用情况语句比较好,如果第一个字母一样,则判断用情况语句或 if ...
- JAVA 基础编程练习题25 【程序 25 求回文数】
25 [程序 25 求回文数] 题目:一个 5 位数,判断它是不是回文数.即 12321 是回文数,个位与万位相同,十位与千位相同. package cskaoyan; public class cs ...
- JAVA 基础编程练习题9 【程序 9 求完数】
9 [程序 9 求完数] 题目:一个数如果恰好等于它的因子之和,这个数就称为"完数".例如 6=1+2+3.编程找出 1000 以内的 所有完数. package cskaoyan ...
- JAVA 基础编程练习题6 【程序 6 求最大公约数及最小公倍数】
6 [程序 6 求最大公约数及最小公倍数] 题目:输入两个正整数 m 和 n,求其最大公约数和最小公倍数. 程序分析:利用辗除法. package cskaoyan; public class csk ...
随机推荐
- Matlab---绘制柱状图
Matlab---绘制柱状图 目录: hist()函数 histc( )函数 bar()函数 正文: 注意区分:频率.频数分布直方图. 一. hist()函数 hist():实 ...
- jemeter正则
关联 jmeter关联用正则表达式 引用名称:随便取 正则表达式: 模板:$1$(这是固定的) 匹配数字:1 缺省值:默认不成功传的值 正则表达式在相应数据里面找 把变 ...
- tomcat 配置https协议
开发的人脸识别功能,在本地localhost是可以访问,换成IP地址不能访问,通过不了浏览器的安全协议, 要把http协议,转成https协议,才能正常访问 方案有二种 1.在项目springboot ...
- js获取页面元素的位置
一.网页的大小和浏览器窗口的大小 首先,要明确两个基本概念. 一张网页的全部面积,就是它的大小.通常情况下,网页的大小由内容和CSS样式表决定. 浏览器窗口的大小,则是指在浏览器窗口中看到的那部分网页 ...
- 牛客CSP-S提高组赛前集训营3
A 货物收集 显然是一个二分答案的题. #include<iostream> #include<cstdio> #include<cstring> #include ...
- eclipse调试断点
1.条件断点 如果你不知道如何添加断点,只需点击左边面板(行号前面)断点即被创建.在调试界面中,“断点”视图会把所有被创建的断点列出来.我们可以给它加一个布尔条件,也就是说,该断点会被激活并且如果布尔 ...
- CodeForces 834C - The Meaningless Game | Codeforces Round #426 (Div. 2)
/* CodeForces 834C - The Meaningless Game [ 分析,数学 ] | Codeforces Round #426 (Div. 2) 题意: 一对数字 a,b 能不 ...
- XHTML测试题
1.XHTML 指的是? A.EXtra Hyperlinks and Text Markup Language B.EXtensible HyperText Marking Language C.E ...
- Flask-websocket实现聊天功能
群聊无昵称 原生js代码 <!DOCTYPE html> <html lang="en"> <head> <meta charset=&q ...
- 记一次antlr错误:ANTLR Tool version 4.5.3 used for code generation does not match the current runtime version 4.7.2ANTLR
场景:重构spark 2.1版本的sql语法.因此 需要使用antlr: 前期准备:idea安装了antlr插件(antlr的4.7.2版本) 因此在maven工程中添加了antlr的依赖: < ...