8月8日 完成listing 4-1的编译
来源:互联网 发布:淘宝沙特代购手表真假 编辑:程序博客网 时间:2024/06/04 18:25
学习进展到了136页,进度还不错。Java的类用起来还是比较舒服的,和汇编语言真是有太大的不同了!
listing 4-3在137页
(所有版权属于Core Java的作者。以下代码仅仅属于私人研究。高手慎入,都是一些初级的东西。)
//listing 4-1 的例子
import java.util.*;
import java.text.DateFormatSymbols;
public class ShowCalendar {
/**
* @param args
*/
public static void main(String[] args) {
// 学习Calendar类的使用
GregorianCalendar d=new GregorianCalendar();
int today=d.get(Calendar.DAY_OF_MONTH);
int month=d.get(Calendar.MONTH);
d.set(Calendar.DAY_OF_MONTH, 1);//把日期设在1号
int weekday=d.get(Calendar.DAY_OF_WEEK);//1号是2,是星期一)
//System.out.println("数字"+weekday+"代表星期一");
String[] weekdayNames=new DateFormatSymbols().getShortWeekdays();
//试验:System.out.printf("%s \r", weekdayNames[weekday]);//加上一个回车符:\r
//把星期天到星期六打印一遍,星期天对应的是整数1,星期一对应整数2...
//for(int i=1; i<8;i++) System.out.print(weekdayNames[i]+ " ");
System.out.println("\r"+d.getFirstDayOfWeek());
System.out.println("today is "+today);
int firstDayOfWeek=d.getFirstDayOfWeek();
int indent=0;
//这面这段代码比较操蛋,一般的人会难以理解,但是具有通用性
//因为法国挂历的习惯是从星期一开始每个星期的第一天,中国是从星期天开始
while(weekday!=firstDayOfWeek){
indent++;
//每次减1,直到日期与星期天(在法国可能是星期一)对齐,
//然后算减了几次,每次减1,indent都要增加一次
d.add(Calendar.DAY_OF_MONTH, -1);
weekday=d.get(Calendar.DAY_OF_WEEK);
}
System.out.println("The indent is:"+indent);
do{
//下面这行比较搞笑,注意%4s,
//会打出 1个空格+三个中文字,注意中英文混排时会出现这种情况
System.out.printf("%4s",weekdayNames[weekday]);
d.add(Calendar.DAY_OF_MONTH, 1);
weekday=d.get(Calendar.DAY_OF_WEEK);
}while(weekday!=firstDayOfWeek);
System.out.println();
//每个indent相当于6个空格--两个空格+三个中文字, 这样才能对齐
//如果indent=0,下面这段for循环是不会执行的
for(int i=1;i<=indent*6;i++) System.out.print("~");
d.set(Calendar.DAY_OF_MONTH, 1);
//d.set(Calendar.YEAR, 2010);
do{
//数字占5个空,另加一个*或者一个空,就有6个空了
System.out.printf("%5d",d.get(Calendar.DAY_OF_MONTH));
if(d.get(Calendar.DAY_OF_MONTH)==today)//如果是今天,就在后面加上一个*
System.out.print("*");
else
System.out.print(" ");//如果不是今天,就在后面加上一个空格
d.add(Calendar.DAY_OF_MONTH, 1);//日期增加一天
//如果+1后,到了星期的第一天,表明这是一个星期六(按中国的习惯),那么要另起一行
if (d.get(Calendar.DAY_OF_WEEK)==firstDayOfWeek)
System.out.println();
}while(d.get(Calendar.MONTH)==month);//如果加一天之后,还在本月之内,继续循环
}
}
- 8月8日 完成listing 4-1的编译
- 8月22日完成 listing 6-2的练习
- 准备工作完成-1月8日
- 阶段工作总结(登录模块的完成)——2016年1月8日
- 1月23日的技术社区OpenParty圆满完成
- 1月8日
- 8月1日
- 第一阶段:2014年10月13日-12月14日,36天完成。每周5天,8周完成。
- 没有标题的1月8日
- 2007年8月1 4日的工作总结
- 4月8日到4月16日学习计划
- 1945年的7月1日~~8月7日
- 4月8日,日记
- 8月4日 Oracle
- week6--4月8日
- 8月4日所学
- 8月4日总结
- 8月4日集训
- Eclipse 不编译工程!转载!
- strace命令
- AXIS2中OMElement和Java对象之间的转换
- poj 1389 Area of Simple Polygons
- 二叉树排序
- 8月8日 完成listing 4-1的编译
- lua抓取网络文件
- (转)使用Windows上的Eclipse 远程调试 linux下的Tomcat
- 各个网站的分享代码
- 在汇编源程序中,数据不能以字母开头
- 使用关键代码段实现线程同步
- 看出发点,而不是看好不好
- s3c2440的时钟详解
- 使用信标对象实现线程同步