c语言每10毫秒输出一个字符串,JAVA--高级基础开发

Day11【练习题】

1.

Calendar类的使用:请通过Calendar类的操作获得

1) 昨天的日期 (假设当前日期是 2008年04月28日,则昨天是2008年04月27日)

2) 本周的第一天 (2008年04月27日)

3) 上周的第一天 (2008年04月20日)

4) 本月的第一天 (2008年04月01日)

5) 上月的第一天 (2008年03月01日)

public class Exercise {

public static void main(String[] args)throws Exception{

//假设当前日期是 2008年04月28日

String date="2008 年 04 月 28 日";

SimpleDateFormat sdf=new SimpleDateFormat("yyyy 年 MM 月 dd 日");

Date date1=sdf.parse(date);

Calendar  ss=Calendar.getInstance();

ss.setTime(date1);

//今天的日期是:

Date  date2=ss.getTime();

System.out.println("今天的日期是:"+sdf.format(date2));

//昨天的日期

ss.add(Calendar.DATE,-1);

Date  year=ss.getTime();

System.out.println("昨天的日期是: "+sdf.format(year));

//本周的第一天:

int aa=ss.get(Calendar.DAY_OF_WEEK);

ss.add(Calendar.DATE,-aa+1);

Date qq=ss.getTime();

System.out.println("本周的第一天:"+sdf.format(qq));

//上周的第一天:

ss.add(Calendar.WEEK_OF_MONTH,-1);

Date Week=ss.getTime();

System.out.println("上周的第一天:"+sdf.format(Week));

//本月的第一天 (2008 年 04 月 01 日)

int dayofMonth=ss.get(Calendar.DAY_OF_MONTH);

ss.add(Calendar.DATE,-dayofMonth+1);

Date fristDay=ss.getTime();

System.out.println("本月的第一天: "+sdf.format(ss.getTime()));

//上月的第一天 (2008 年 03 月 01 日)

ss.add(Calendar.MONTH,-1);

System.out.println("上月的第一天:"+sdf.format(ss.getTime()));

}

}

2. 请用代码实现:获取当前的日期,并把这个日期转换为指定格式的字符串,如

2088-08-08 08:08:08。

Date  ff=new Date();

DateFormat  sdf=new SimpleDateFormat("yyyy-MM-dd HH:mm:dd");

System.out.println(sdf.format(ff));

3. 使用 SimpleDateFormat 类,把 2018-03-04 转换为 2018 年 03 月 04 日。

DateFormat srg=new  SimpleDateFormat("yyyy-MM-dd");

DateFormat srf=new  SimpleDateFormat("yyyy年MM月dd日");

Date  ss=srg.parse("2018-03-04");

System.out.println(srf.format(ss));

4. 计算一个人从出生到现在活了多少天??

1.如何把用户输入的日期,转换成Date类型

2.解析字符串到日期

3.如何获取日期的毫秒值

4.用当前系统时间的毫秒值减去出生日期的毫秒值

public class Exercise3 {

public static void main(String[] args)throws Exception {

//接收键盘输入

Scanner sc=new Scanner(System.in);

System.out.println("请输入你的日期:——>格式为yyyy--MM--dd");

String  srg=sc.nextLine();

//将字符串解析为Date对象

DateFormat ss=new SimpleDateFormat("yyyy-MM-dd");

Date srf=ss.parse(srg);

long  start=srf.getTime();//将date对象转换为当前所对应的毫秒值;

//long  end=new Date().getTime();

// 获取当前系统的毫秒值;

long  end=System.currentTimeMillis();

//结束减去开始

long  k=end-start;

//把毫秒转换为天(k/1000/60/60/24 除以1000得到秒,除以60 得到分 除以60 得到小时,除以24得到天了

if(k<0){

System.out.println("还没有出生");

}else{

System.out.println("李文杰童学活了"+k/1000/60/60/24+"天");

System.out.println("李文杰童学活了"+k/1000/60/60/24/365+"年");

}

}

}

5. 用程序判断 2018 年 2 月 14 日是星期几。

public class Exercise4 {

public static void main(String[] args)throws Exception{

String G = "2018年02月14日";

DateFormat srg = new SimpleDateFormat("yyyy年MM月dd日");

Date ss = srg.parse(G);

//创建日期类

Calendar SFG = Calendar.getInstance();

//把日历转换为date 格式

SFG.setTime(ss);//从新设置值

//判断是星期几

int date = SFG.get(Calendar.DAY_OF_WEEK);

System.out.println(date);

Wday(date);//调用

}

public static void Wday(int date) {

switch (date) {

case 1:

System.out.println("星期日");

break;

case 2:

System.out.println("星期一");

break;

case 3:

System.out.println("星期二");

break;

case 4:

System.out.println("星期三");

break;

case 5:

System.out.println("星期四");

break;

case 6:

System.out.println("星期五");

break;

case 7:

System.out.println("星期六");

break;

}

}

}

//星期三

6. 分别使用 String 的+=和 StringBuilder 的 append 方法对字符串做 100000 次拼接,计算String 拼接 100000 次花费时间与 StringBuilder 拼接 100000 次所花费时间并打印。

long  start=System.currentTimeMillis();

String   ss="liwenjie";

for(int i=0;i<10000;i++){

ss+=i;

}

long  end=System.currentTimeMillis();

System.out.println("耗时:"+(end-start)+"毫秒");// 312毫秒

long  start=System.currentTimeMillis();

StringBuilder  builder=new StringBuilder("liwenjie");

for(int  j=0;j<10000;j++){

builder.append("李文杰");

}

long  end=System.currentTimeMillis();

System.out.println(builder);

System.out.println("耗时:"+(end-start)+"毫秒");// 10毫秒

7(1)定义数字字符串数组{"010","3223","666","7890987","123123"};

(2)判断该数字字符串数组中的数字字符串是否是对称(第一个数字和最后一个数字相

等,第二个数字和倒数第二个数字是相等的,依次类推)的,并逐个输出;

(3)如:010 是对称的,3223 是对称的,123123 不是对称的;

(4)最终打印该数组中对称字符串的个数。

public class Exercise6 {

public static void main(String[] args) {

String[]arry={"010","3223","666","7890987","123123","123123 "};

StringBuilder  ss=null;

int  count=0;

for(String  srg:arry){

ss=new StringBuilder(srg);

if(ss.reverse().toString().equals(srg)){

count++;

System.out.println(srg+"是对称的");

}else{

System.out.println(srg+"是不对称的");

}

}

System.out.println(count+"次");

}

}

8. 十、分析以下需求,并用代码实现:

(1)打印由 7,8,9 三个数组成的三位数,要求该三位数中任意两位数字不能相同;

(2)打印格式最后的三位数字以空格分隔,如 789 798 879 897 978 987。

public class Exercise8 {

public static void main(String[] args) {

String  ss="789";

StringBuilder  builder=new StringBuilder();

for(int i=0;i<3;i++){

for(int j=0;j

builder.append(ss.charAt(j));

}

if(i!=2){

builder.append(" ");

}

ss=ss.substring(1).concat(ss.substring(0,1));

}

ss=builder.toString()+" "+builder.reverse().toString();

System.out.println(ss);

}

}

//运行的结果:

//789 897 978 879 798 987

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值