util包里的一些类的使用
好几天没有更新我的博客了 。国庆放假出去玩了一趟,这回来应该收心回到我的事业上了,哈哈哈!废话不多说,开始学习吧!首先今天来学习一些例子,这些例子可以回顾假期遗忘的知识,还能提高自己的能力。程序也会相应的给出来。但是程序中有些与题目不同。是因为我在上面新加了一些知识点,以扩充知识面。
1、格式化输出当期日期。如:2012年3月13日 21:30:30
2、把字符串“2012-3-6 20:78:1”解释为日期,并输出。
package com.tangdeqiang.rtbc1; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Date; public class DataTest { public static void main(String[]args){ Date d1=new Date(); SimpleDateFormat sdf=new SimpleDateFormat("yyyy年MM月dd日 HH时mm秒ss毫秒"); String str=sdf.format(d1);//转化为想要的格式; System.out.println(str); //System.out.println(d1.getDate()); System.out.println(d1.getTime()); //System.out.println(d1.toLocaleString()); String d2="2017年10月7日 08:45:21"; try { Date da=sdf.parse(d2); System.out.println(da); } catch (ParseException e) { System.out.println("格式不正确"); e.printStackTrace(); } int a=100; System.out.println(a+""); } }
3、请问今年是闰年了吗?
package com.tangdeqiang.rtbc1; import java.util.Calendar; import java.util.Date; public class LeapTest { public static void main(String[] args) { Calendar calendar=Calendar.getInstance(); System.out.println(calendar); Date date=new Date(); int da=date.getYear()+1900; System.out.println(da); // calendar.set(Calendar.MONTH, 2); // calendar.set(Calendar.DAY_OF_MONTH, 1); // calendar.add(Calendar.DATE, -1); // int max=calendar.get(Calendar.DATE); // System.out.println(max); // if(max==28){ // } int nowYear=calendar.get(Calendar.YEAR); System.out.println(nowYear); if(((nowYear%4==0)&&(nowYear%100!=0))||nowYear%400==0){ System.out.println(nowYear+"年是闰年"); }else { System.out.println(nowYear+"年是平年"); } } }
4、请用程序测试使用循环计算1+2+...100000所用的时间(以秒为单位)。
package com.tangdeqiang.rtbc1; import java.util.Date; public class TestDate { public static void main(String[]args){ Date s=new Date(); int sum=0; for(int i=0;i<=100000;i++){ sum+=i; } Date end=new Date(); System.out.println(end.getTime()-s.getTime()); } }
5、猜数游戏。每一次由程序随机生成一个小于10的数,用户输入一个数,如果用户输入的数和随机数相等就成功。否则就失败
如:
请输入:3
输出:失败,随机数是:4.
程序退出
package com.tangdeqiang.rtbc1; import java.util.Random; import java.util.Scanner; public class TestGame { public static void main(String[] args) { Random r=new Random(); int i=r.nextInt(10); //System.out.println(i); Scanner s=new Scanner(System.in); System.out.println("请输入10以内的数:"); int in=s.nextInt(); if(in==i){ System.out.println("恭喜!输入正确"); }else{ System.out.println("对不起!输入错误"); } } }
6、小明是1992年7月2日生日的,国家规定22岁就可以去结婚,请问小明什么时候可以去结婚?
1992+22=2014
2014年7月2日
package com.tangdeqiang.rtbc1; import java.util.Calendar; import java.util.Date; import sun.util.resources.CalendarData; public class TestYear { public static void main(String[]args){ Calendar date=Calendar.getInstance(); date.set(Calendar.YEAR, 1992); date.set(Calendar.MONTH, 6); date.set(Calendar.DATE, 2); date.add(Calendar.YEAR, 22); Date today=new Date(); Date temp=date.getTime(); if(today.before(temp)){ System.out.println("不可以去"); }else{ System.out.println("可以去"); } System.out.println(date); } }
7、**生于1893年12月26日,死于1976年9月9日,请问他一共活了多少天?
package com.tangdeqiang.rtbc1; import java.text.SimpleDateFormat; public class TestOld { /** * @param args */ public static void main(String[] args) { String start=new String("1893年12月26日"); String end=new String("1976年9月9日"); SimpleDateFormat sdf=new SimpleDateFormat("yy年MM月dd日"); try{ long temp=sdf.parse(end).getTime()-sdf.parse(start).getTime(); long days=temp/1000/3600/24; System.out.println("* * *活了"+days+"天"); }catch (Exception e) { // TODO: handle exception } } }
8、计算下一年的今天是星期几,请用程序打印输出。
如果是星期一,那么就打印星期一。以此类推
package com.tangdeqiang.rtbc1; import java.text.SimpleDateFormat; import java.util.Calendar; public class WeekTest { public static void main(String[]args){ Calendar c=Calendar.getInstance(); c.add(Calendar.YEAR, 1); SimpleDateFormat sdf=new SimpleDateFormat("E"); System.out.println(sdf.format(c.getTime())); } }
9、输出2012年4月的日历。类似日历的格式输出。//本题还有一些知识点没有弄懂,还需要进一步学习。抽时间研究一下。
输出:
日 一 二 三 四 五 六
1 2 3 4 5 6 7
8
public class Testweek { public static void main(String[] args) { int year = 2012; int month = 4; Testweek exe8=new Testweek(); exe8.pucal(year, month); } public void pucal(int year, int month) { System.out.println("日\t一\t二\t三\t四\t五\t六"); Calendar calendar = Calendar.getInstance(); calendar.set(year, month - 1, 1); int maxday = calendar.getActualMaximum(Calendar.DATE); // 先判断1日是星期几 int firstweek = calendar.get(Calendar.DAY_OF_WEEK); for (int i = 1; i < firstweek; i++) { System.out.print(" \t"); } for (int i = 1; i <= maxday; i++) { System.out.print(i + "\t"); // 星期六换行 int week = calendar.get(Calendar.DAY_OF_WEEK); if (week == 7) { System.out.println(); } calendar.add(Calendar.DATE, 1); } } }
9、输出2013年整年的日历。类似平常的日历格式:
如:
一月
日 一 二 三 四 五 六
1 2 3 4 5
6 7 8
(提示:可以把上一题封装成为一个方法。)
package com.tangdeqiang.rtbc1; public class Week{ public static void main(String[] args) { int year = 2013; Testweek exe8=new Testweek(); for(int i=1;i<=12;i++){ System.out.println(i+"月"); exe8.pucal(year, i); System.out.println(); } } }