java基础9

package com.edu.calendar;

import java.util.Calendar;

public class CalendarDemo {

   public static voidmain(String[] args) {

      /**

       *1.new 类名();

       *2.有一些类是抽象类,他为我们提供了一个成员方法,而这个成员方法的返回值就是这个抽象类的子类对象

       *

       *  Calendar(日历类--获取年,获取月,获取日,获取时,获取分,获取秒。

          public int get(int field):返回给定日历字段的值

       */

      //public static CalendargetInstance()

      //使用默认时区和语言环境获得一个日历。返回的Calendar 基于当前时间

      Calendar c = Calendar.getInstance();

      //获取年份

      System.out.println(c.get(Calendar.YEAR));

     

      //获取月份,注意值是从0-11月,我们想要显示的更加付给我们的阅读规则,就必须给月份加上1

      System.out.println(c.get(Calendar.MONTH)+1);

      //获取日期

      System.out.println(c.get(Calendar.DATE));

      //获取时

      System.out.println(c.get(Calendar.HOUR));

      //获取分

      System.out.println(c.get(Calendar.MINUTE));

      //获取秒数

      System.out.println(c.get(Calendar.SECOND));

      //使用字符串的拼接拼接成你想要的日期格式 }

}

package com.edu.calendar;

import java.util.Calendar;

public class CalendarDemo2 {

   public static voidmain(String[] args) {

      /**

       *  10.2

          需求:获取当前时间的5年后的3个月前的7天后。

         public void add(int field,int amount):根据amount修改field的值

         public void set(int year,int month,int date):设置当前日历的年月日

       */

      //创建Calendar对象啊

      Calendar c = Calendar.getInstance();

/*    //需求:要给当前的日历时间加上5

      c.add(Calendar.DATE, 5);

      //输出一下日期

      System.out.println(c.get(Calendar.DATE));

      //需求:将年份向前推一年

      c.add(Calendar.YEAR, -1);

      System.out.println(c.get(Calendar.YEAR));*/

     

      System.out.println("-----------------");

      // public void set(int year,intmonth,int date):设置当前日历的年月日

      c.set(2016, 9, 9);

      System.out.println(c.get(Calendar.YEAR));

      System.out.println(c.get(Calendar.MONTH)+1);

      System.out.println(c.get(Calendar.DATE));

   }

}

package com.edu.calendar;

import java.util.Calendar;

import java.util.Scanner;

public class CalendarTest {

     publicstatic void main(String[] args) {

         //10.3  键盘录入年份,获取任意一年的二月有多少天

         /**

          * 1.获取年份

          * 2.将日历对象的时间调到,此年的3月的第一天

          * 3.将日期对象向前推一天

          * 4.获取此天的日期

          */

         System.out.println("请输入年份");

         Scannersc = new Scanner(System.in);

         int year= sc.nextInt();

         // 2.将日历对象的时间调到,此年的3月的第一天

         Calendarc = Calendar.getInstance();

         c.set(year,2, 1);

         //3.将日期对象向前推一天

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

         //4.获取此天的日期

         System.out.println("该年的二月有"+c.get(Calendar.DATE));

     }

}

package com.edu.regex1;

import java.util.Scanner;

public class RegexDemo {

   public static voidmain(String[] args) {

      /**

       *   案例:(用正则和代码两种方式实现)

       键盘录入qq号码,校验QQ号码。

        需求:

            1:要求必须是5-15位数字

            2:0不能开头

           分析:(封装一个方法,这个方法的返回值是布尔类型,参数就是qq号码)

           1.判断qq号码的长度,5-15位之间

           2.不能以0开头

           3.每一位的字符必须是数字

       */

      System.out.println("请输入你需要校验的qq号码");

      Scanner sc = new Scanner(System.in);

      String qq = sc.nextLine();

      //将获取到的qq号码传递给我这个方法

      //方式1:使用代码进行校验qq号码

      //System.out.println(isCheck(qq));

     

      //方式2:使用正则表达式校验qq号码

      System.out.println(isCheck2(qq));

   }

   private static booleanisCheck2(String qq) {

      //定义一个校验qq号码的正则表达式,这个正则表达式就是符合我的qq号码的校验规则的正杂表达式

      String reg = "[1-9][0-9]{4,14}";

      //使用正则表达式校验我的qq号码

      boolean flag =qq.matches(reg);

      return flag;

   }

   private static boolean isCheck(Stringqq) {

      //定义一个标记

      boolean flag = true;

      //在这里进行校验判断,但凡有一个条件不满足,就更该flag的值为false

      //1.判断qq号码的长度,5-15位之间

      if(qq.length()>=5&&qq.length()<=15) {

        //2.不能以0开头

        if (!qq.startsWith("0")) {

           //3.每一位的字符必须是数字

           char[] qqChs = qq.toCharArray();

           //遍历字符数组

           for (int i = 0; i < qqChs.length; i++) {

              if (Character.isDigit(qqChs[i])) {

                

              }else {

                 flag = false;

              }

           }

        }else {

           flag = false;

        }

       

      }else {

        //更改flag的值

        flag = false;

      }

     

      return flag;

   }

 

}

package com.edu.regex1;

public class RegexDemo2 {

   public static voidmain(String[] args) {

      /**

       *    判断功能:

      publicboolean matches(String regex):告知此字符串是否匹配给定的正则表达式。 

              需求1:找出规则,写出正则(1[38][0-9]{9}),校验电话号码

           13245678901 13332345678 1345678901218812345678 18999999999

       18666666666 18786868686

       */

      String number = "13245678901";

      //正则表达式

      String reg = "1[38][0-9]{9}";

      //调用machesString reg)进行判断指定字符串是否匹配指定的正则表达式

      boolean flag =number.matches(reg);

      System.out.println(flag);

   }

}

package com.edu.regex1;

public class RegexDemo3 {

   public static voidmain(String[] args) {

      /**

       *需求2:找出规则,写出正则(String reg = "[a-zA-Z_0-9]+@[a-zA-Z_0-9]{2,8}(\\.[comnet]{2,3})+"),校验邮箱

        sunmeng@163.com  

        zhangsan@126.com 

        lisi@sina.cn  

       wxd1221@sina.com.cn

        csf@gmail.net

       1512345@qq.com

       */

      String email = "zhangsan@126.com";

      //写一个正则表达式验证这些个邮箱

      String reg = "[a-zA-Z_0-9]+@[a-zA-Z_0-9]{2,8}(\\.[comnet]{2,3})+";

      //依据正则表达式来验证上面的邮箱

      System.out.println(email.matches(reg));

   }

}

package com.edu.regex1;

public class RegexDemo4 {

   public static voidmain(String[] args) {

      /**

       *public String[] split(String regex)根据给定正则表达式的匹配拆分此字符串。

       *    需求1

             分割如下字符串:

             String s = "aa,bb,cc";

             String s2 = "aa.bb.cc";

             String s3 = "aa bb cc";

             String s4 = "aa   bb                     cc";

             String s5 = "D:\\baidu\\20160826\\day14";

       */

      // String s = "aa,bb,cc";

      //定以一个可以匹配到,的正则表达式

/*    String reg = ",";

      String s = "aa,bb,cc";

      //使用split(Stringreg)切割字符串

      String[] strs = s.split(reg);

      for (int i = 0; i < strs.length;i++) {

        System.out.println(strs[i]);

      }*/

     

      System.out.println("----------------");

      /*String s2 = "aa.bb.cc";

      String reg = "\\.";

      String[] strs = s2.split(reg);

      for (int i = 0; i < strs.length;i++) {

        System.out.println(strs[i]);

      }*/

     

      System.out.println("----------------");

/*    String s3 = "aa bb cc";

      String reg = " ";

      String[] strs = s3.split(reg);

      for (int i = 0; i < strs.length;i++) {

        System.out.println(strs[i]);

      }*/

     

      System.out.println("----------------");

/*    String s4 = "aa    bb                     cc";

      String reg = " +";

      String[] strs = s4.split(reg);

      for (int i = 0; i < strs.length;i++) {

        System.out.println(strs[i]);

      }*/

      System.out.println("----------------");

      String s5 = "D:\\baidu\\20160826\\day14";

      String reg = "\\\\";

      String[] strs = s5.split(reg);

       for (int i = 0; i< strs.length; i++) {

        System.out.println(strs[i]);

      }

   }

}

package com.edu.regex1;

import java.util.Arrays;

public class RegexDemo5 {

   public static voidmain(String[] args) {

      /**

       *    需求2

          我有如下一个字符串:”91 27 46 38 50”

          请写代码实现最终输出结果是:”27 38 46 50 91”

       */

      //切割字符串

      String s = "91 27 46 3850";

      String reg = " ";

      String[] strs = s.split(reg);

      //遍历字符串数组,并定义一个int[]

      int[] arr = new int[strs.length];

      for (int i = 0; i < strs.length; i++) {

        arr[i] = Integer.parseInt(strs[i]);

      }

      //排序int[]

      Arrays.sort(arr);

      //遍历数组

      StringBuffer sb = new StringBuffer();

      for (int i = 0; i < arr.length; i++) {

        sb.append(arr[i]+"");

      }

      //sb转换为String类型

      System.out.println(sb.toString());

   }

}

package com.edu.regex1;

public class RegexDemo6 {

   public static voidmain(String[] args) {

      /**

       *   替换功能

         public String replaceAll(String regex,Stringreplacement):

          把符合regex的用replacement替换

          需求:字符串中的数字使用*代替

       */

      String s = "我的银行卡号是:6102344354565";

      String reg = "[0-9]";

      String newStr = s.replaceAll(reg, "*");

      System.out.println(newStr);

   }

 

}

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值