字符串的切割

关于字符串的切割首先要明确目的;
1.应该按照什么来切割
2.要切割成几部分
3.并且要用什么类型来装 切割之后的字符串数组

 例如生日的格式:
        月/日

// 得到会员的生日
// 1.切割字符串,将切出的字符串存到一个火车中
    String[] strs = birthday.split("/");
// 2.获得0号车厢中的字符串和 1号车厢中的字符串
   也就是通过切割之后的两个部分 通过你按照"/"切割的AB部分
    String month = strs[0];// 火车中的0号车厢中的字符串
    String day = strs[1];// 火车中的1号车厢中的字符串   
// 3.将对应数组变成字符串
   将通过切割的字符串 month 和  day 传进来 也就是AB部分
        int int_month = Integer.parseInt(month);
        int int_day = Integer.parseInt(day);   
//4.通过转换之后的字符串数字变成了数字然后才可以进行判断使用

日期判断
//判断月份和日期的范围
    if((int_month <1 || int_month >12)  &&  (int_day < 1||int_day> 30)){
        System.out.println("日期格式有误!,请重新输入");
    }

例题 录入会员的生日和密码 要求生日格式为 (月/日)密码要求在6~10位数之间

先编写一个日期格式异常类
 class DateException extends Exception { 

         public DateException() {
                super();
            } 

         public DateException(String message) {
            super(message);
            }
 }

验证生日格式 声明异常 
 class date {
    public boolean validateBirth(String date) throws DateException(){ 
        boolean b = true;
            首先先判断符号"/"的位置
        if(date.indexOF("/"!=2)){
            并且抛出异常
            throw new DateException("日期格式异常");
        } 
        然后开始切割字符串 通过方法split 按照("/")来切割 存放到一个字符串数组中
        String[] d = date.split("/") 
        然后通过方法parseint方法 将字符串 转换成为Int类型的数字
        int month = integer.parseInt(d[0])
        int day = integer.parseInt(d[1]) 
        if((month < 0 || month > 12) || (day < 0 || day > 31)){
            System.out.println("日期有误");
            return false;
        } 
        System.out.println("您的生日是" + date); .
            return b;
    }
}  

验证密码格式 
public  boolean validatePwd(String pwd) {  
    boolean c =true; 
    if (((pwd.length() < 6) || (pwd.length() > 10))) {
        System.out.println("密码不符合要求");
        return false; 
    } else {
        System.out.println("您的密码是:" + pwd);
    } 
    return c ;
    }  

测试方法 
public static void main(String[] args) { 
    date d = new date();
    boolean flag = false; 
    Scanner sc = new Scanner(System.in); 
    System.out.println("请输入会员格式为:月/日");
    do {
        try {
            System.out.println("请输入会员生日");
            String date = sc.next();
            System.out.println("请输入会员密码");
            String pwd = sc.next();
            d.validateBirth(date);
            d.validatePwd(pwd);
        } catch (Exception e) {
            System.out.println(e.getMessage());
        }
        } while (!flag);
    }
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值