题目:
1、输出本周的周一和周日
2、文件名的格式为学号姓名.doc,从文件名中提取学号和姓名
3、计算字符串的长度,要求两个英文字母算一个。
看看你能不能很快写出来?下面是参考答案。
1、输出本周的周一和周日
Calendar now = Calendar.getInstance(); // 今天
Calendar start = Calendar.getInstance(); // 表示周一
Calendar end = Calendar.getInstance(); // 表示周日
int dayOfWeek = now.get(Calendar.DAY_OF_WEEK); // 计算今天是本周的第几天,周日是第一天
// start.add(Calendar.DATE,2-dayOfWeek); //计算周一
// end.add(Calendar.DATE,8-dayOfWeek); // 计算周日
// 之前的是错误的
start.add(Calendar.DATE,2-dayOfWeek>0?-6:2-dayOfWeek);
end.add(Calendar.DATE,8-dayOfWeek==7?0:8-dayOfWeek);
DateFormat df = new SimpleDateFormat("yyyy-MMM-dd"); // 格式化日期
System.out.println(df.format(start.getTime())); // 输出周一
System.out.println(df.format(end.getTime())); // 输出周日
2、文件名的格式为学号姓名.doc,从文件名中提取学号和姓名
/*
* 从文件名中获取学号
*/
public String getSid(String fileName){
int index = -1;
for(index=0;index<15;index++){
if(fileName.charAt(index)<'0' || fileName.charAt(index)>'9'){
break;
}
}
return fileName.substring(0,index);
}
/*
* 从文件名中提取学生姓名
*/
public String getName(String fileName){
String sid = getSid(fileName);
int index = fileName.lastIndexOf('.');
return fileName.substring(sid.length(),index).trim();
}
3、计算字符串的长度,要求两个英文字母算一个。
int bytes = (taskbook_name.getBytes().length + 1) / 2;