java 日历格式转化
来源:互联网 发布:网络通信系统 编辑:程序博客网 时间:2024/06/15 10:00
java 日历格式转化
标签: java基础
把“日一二三四五六”格式的日历转化为“一二三四五六日”格式。
//Example8_16import java.util.*;public class Example8_16 { public static void main(String[] args) { CalendarBean cb = new CalendarBean(); System.out.printf("please input year and month: "); //输入年份和月份 Scanner reader = new Scanner(System.in); int year = 0, month = 0; cb.setYear(year = reader.nextInt()); cb.setMonth(month = reader.nextInt()); String [] a = cb.getCalendar(); //返回号码的一维数组 char [] str = "日一二三四五六".toCharArray(); System.out.printf("----------------------------\n%14d.%-2d\n", year, month); //打印表头 System.out.printf("----------------------------\n"); for(char c : str) System.out.printf("%3c", c); for(int i = 0; i < a.length; i++) //输出数组a { if(i % 7 == 0) System.out.println(""); //换行 System.out.printf("%4s", a[i]); } }}
//CalendarBeanimport java.util.Calendar;public class CalendarBean{ int year = 0, month = 0; public void setYear(int year) { this.year = year; } public void setMonth(int month) { this.month = month; } public String [] getCalendar() { String [] a = new String[42]; //日历最多可达6行 Calendar rili = Calendar.getInstance(); rili.set(year, month - 1, 1); //模拟翻日历 int weekDay = rili.get(Calendar.DAY_OF_WEEK) - 1; //计算出1号的星期 int day = 0; if(month == 1 || month == 3 || month == 5 || month == 7 || month == 8 || month == 10 || month == 12) day = 31; if(month == 4 || month == 6 || month == 9 || month == 11) day = 30; if(month == 2) { if(((year % 4 == 0) && (year % 100 != 0)) || year % 400 == 0) day = 29; else day = 28; } for(int i = 0; i < weekDay; i++) a[i] = " "; //日历顺序输出,格式控制 for(int i = weekDay, n = 1; i < weekDay + day; i++) { a[i] = String.valueOf(n); n++; } for(int i = weekDay + day; i < a.length; i++) a[i] = " "; return a; }}
原日历测试样例
修改Example8_16.java, CalendarBean.java不变
//Example8_16import java.util.*;public class Example8_16 { public static void main(String[] args) { CalendarBean cb = new CalendarBean(); System.out.printf("please input year and month: "); //输入年份和月份 Scanner reader = new Scanner(System.in); int year = 0, month = 0; cb.setYear(year = reader.nextInt()); cb.setMonth(month = reader.nextInt()); String [] a = cb.getCalendar(); char [] str = "一二三四五六日".toCharArray(); System.out.printf("----------------------------\n%14d.%-2d\n", year, month); //打印表头 System.out.printf("----------------------------\n"); for(char c : str) System.out.printf("%3c", c); System.out.println(""); int sunday = 0, six = 0; //日一二三四五六 -> 一二三四五六日 //有两种情况:(1)原日历第一行第一列为空,也就是a[0] == " ";(2)不为空 if(a[0] == " ") sunday = 7; for(int i = 1; i < a.length; i++) { System.out.printf("%4s", a[i]); six++; if(six == 6) { if(sunday < a.length) System.out.printf("%4s\n", a[sunday]); sunday += 7; i++; six = 0; } } }}
修改后的日历测试样例
阅读全文
0 0
- java 日历格式转化
- java 日历格式转化改进版
- Java 输出日历格式
- Java 输出日历格式
- java日期格式转化
- Java日期格式转化
- Java时间格式转化
- java的时间格式转化
- java 时间格式的转化
- java中数字格式转化
- java 常用时间格式转化
- Java实现经纬度格式转化
- Java 小日历格式输出 闰年计算
- java不用时间格式打印日历
- 用java在控制台打印日历格式
- 日历控件日期转化
- java中各种时间格式的转化
- java中各种时间格式的转化
- libcurl学习笔记
- c语言 各种递推计算
- UDP的数据传输
- Hive Streaming 追加 ORC 文件
- 主成分分析(PCA)
- java 日历格式转化
- 云星数据---Scala实战系列(精品版)】:Scala入门教程015-Scala实战源码-Scala函数
- apache 代理转发 配置
- java:判断数组中是否包含某元素
- JDK中的native方法源码实现
- 1302
- jedisLock—redis分布式锁实现
- Angular-Cli 学习笔记(整理中)
- phpStudy显示列表页