使用java 打印日历
package hangshu;
/*
* 打印从1900年到2、year年的日历
*/
import java.util.Scanner;
public class Calender {
public static int year = Integer.MIN_VALUE;
public static int month = Integer.MIN_VALUE;
private static int[] m = {31,28,31,30,31,30,31,31,30,31,30,31};
public static void main(String[] args) {
// TODO Auto-generated method stub
InputYearAndAay(); //输入年月
printBiaotou(); //打印表头
printCanlender(); //打印日历
}
//打印日历
private static void printCanlender() {
int sum=getSumYear();
sum+=getSumMonth();
int count = sum%7;
for(int i=0;i<=count-1;i++)
System.out.print("\t");
for(int i=1;i<=m[month-1];i++)
{
System.out.print(i+"\t"); if(sum%7 == 6) System.out.print("\n"); sum++;
}
}
//计算year总天数
private static int getSumYear(){
int sum = 0;
for(int i=1900;i<year;i++)
{
sum+=365;
if(Judge(year))
sum++;
}
return sum;
}
//计算month的总天数
private static int getSumMonth() {
int sum = 0;
for(int i=0;i<month-1;i++)
{
sum+=m[i];
}
if(Judge(year) && month>2)
sum++;
sum++; //要计算1900年到year年month—1的天数
return sum;
}
//打印表头
private static void printBiaotou() {
String[] mon = {"一月","二月","三月","四月","五月","六月","七月","八月","九月","十月","十一月","十二月"};
String[] week = {"星期一 ","星期二 ","星期三 ","星期四 ","星期五 ","星期六 ","星期日"};
System.out.println(year+"年"+" "+mon[month-1]); for(int i=0;i<7;i++)
System.out.print(week[i]+"\t");
System.out.println();
}
//输入年月
private static void InputYearAndAay(){
Scanner input = new Scanner(System.in);
System.out.print("请输入年份:");
year = input.nextInt();
System.out.print("请输入月份:");
month = input.nextInt();
input.close();
input = null;
}
//判断是否闰年
private static boolean Judge(int year) {
return year%4 == 0 && year%100 != 0 || year%400 == 0;
}
}
使用java 打印日历的更多相关文章
- java打印日历
打个日历,写了半天,感情水平真菜, 不过主要是不会数组,明天一定要把数组看了 package demo; import java.util.Scanner; public class Demo { / ...
- 用java打印日历
来自<java核心技术卷一> /** * Created by wangbin10 on 2019/1/3. * 打印当月日历 */ public class CalendarTest { ...
- Python学习实践-----打印日历
使用python语言实现在控制台打印日历 输入年.月.日 输出对应日历,指定的日数输出为'--' 程序没有做严格的输入验证,故输入整数即可. 以下为没有优化的源码: print_calendar.py ...
- Java 打印金字塔 or 打印带数字的金字塔 (Java 学习中的小记录)
Java 打印金字塔 or 打印带数字的金字塔 (Java 学习中的小记录) 作者:王可利(Star·星星) 效果图: 代码如下: class Star8 { public static void m ...
- 关于这两天研究Java打印pdf方法的记录
这两天在研究Java调用打印机打印PDF文件的方法,学到了不少东西,特别来记录一下. 关于Java打印网上最多的而且也是Java正统的打印方法就是使用PrintService,一套比較标准的打印代码例 ...
- java打印正金字塔,倒金字塔和“水影”金字塔
java打印正金字塔,倒金字塔和"水影"金字塔 --------原创文章,若要转载,请注明出处 小小少年 闲来无事,想起自己初学java的时候做的经典的无非就是打印出一些有意思 ...
- Java打印
Java打印 import java.awt.Color; import java.awt.Font; import java.awt.FontMetrics; import java.awt.Gra ...
- Oracle打印日历功能
Oracle用SQL打印日历 1.1 打印当月日历 , D, NULL)) SUN, , D, NULL)) MON, , D, NULL)) TUE, , D, NULL)) WED, , D, ...
- Java 打印程序设计实例
3.1 打印文本 3.1.1 应用场景 假设我们需要打印一个窗体的某个文本编辑域(可能只有几行,也可能包含多页)的内容,并且每页最多打印 54 行,如何实现呢? 3.1.2 解决方法 基本思路如下:首 ...
随机推荐
- WordPress禁止版本修订历史、自动保存和自动草稿最新方法汇总
提醒:我这里汇总的方法有一些只支持以前老版本的WordPress,对于新版本的WordPress,有些功能是不支持的,所以操作前请做好备份.我的WordPress版本目前是4.3.1,我会在我测试有效 ...
- vc的环境变量配置和缺少mspdb60.dll的解决方法
vc的编译器是cl.exe,我们如果在vc中编译就不用配置环境,但是如果要在任何位置用命令提示符打开编译器cl.exe来编译程序,那么就要配置环境了. 下面我就讲讲vc的环境变量配置和缺少mspdb6 ...
- 在Jenkins中配置执行远程shell命令
1.想要 远程登录到linux服务器并执行相应的shell脚本,需要在jenkins上安装插件enkins SSH plugin 2. 安装了这个插件后,进入系统的配置管理中配置 SSH remote ...
- 挂载U盘和移动硬盘
1, 挂载U盘和USB接口的移动硬盘一样对linux系统而言U盘也是当作SCSI设备对待的.使用方法和移动硬盘完全一样.插入U盘之前[root at pldyrouter root]# fdisk - ...
- segment fault异常及常见定位手段
问题背景 最近boot中遇到个用户态程序的segment fault异常,除了一句"Segment fault"打印外无其他任何打印.该问题复现概率较低,定位起来比较棘手.我们的b ...
- Git 初体验
第一次接触git的时候,一直在纳闷git和github的区别,解释下,git是版本管理工具,github是开源共享平台,个人这么理解,理解这么多就行了 先说git吧,下载git客户端,地址:http: ...
- 基于docer搭建私有gitlab服务器
今天闲着无聊,于是乎想用最近很流行的docker容器搭建一个自己的gitlab的服务器,关于docker和gitlab就不多介绍了,网上查了很多资料,貌似没有一个统一的方法,很乱很杂,而且很容易误导人 ...
- go语言defer panic recover用法总结
defer defer是go提供的一种资源处理的方式.defer的用法遵循3个原则 在defer表达式被运算的同时,defer函数的参数也会被运算.如下defer的表达式println运算的同时,其入 ...
- 《Linux命令行与shell脚本编程大全》- 读书笔记3 - 理解shell
当用户登录终端的时候,通常会启动一个默认的交互式shell.系统究竟启动哪个shell,这取决于用户配置.一般这个shell都是/bin/shell.默认的系统shell(/bin/sh)用于系统sh ...
- Ambari Log Search
文章作者:luxianghao 文章来源:http://www.cnblogs.com/luxianghao/p/8630195.html 转载请注明,谢谢合作. 免责声明:文章内容仅代表个人观点, ...