抛出异常和校验是否全为数字(注册题)

抛出异常的用法是   thow new 选择运行异常还是编译异常(里面填写抛出异常输出的文字)

=================分割==========

效验是否全为数字

方法一:ruguo

public static boolean isDigital(String str){
  //先用tocharArry转换string为char数组
         char[]chars = str.tocharArry();
         for(int i = 0;i < chars.length();i++){
            if(chars[i] < '0' || chars[i] < '9'){
                    return false;
            }
        }
        return ture;
}

  如果chars[i]的值小于0或者大于9说明他并不是字母,因为每个字母都对应一个ascll码

===========charAt()方法和to char Array()方法============

java中charAt()方法是用于返回指定索引处的字符。索引范围为从0到length()-1;

 java中to char array()方法是将字符串转换为字符数组

===========获取指定字符在字符串中的位置===========

  • public int indexOf(int ch): 返回指定字符在字符串中第一次出现处的索引,如果此字符串中没有这样的字符,则返回 -1。

  • public int indexOf(int ch, int fromIndex): 返回从 fromIndex 位置开始查找指定字符在字符串中第一次出现处的索引,如果此字符串中没有这样的字符,则返回 -1。

  • int indexOf(String str): 返回指定字符在字符串中第一次出现处的索引,如果此字符串中没有这样的字符,则返回 -1。

  • int indexOf(String str, int fromIndex): 返回从 fromIndex 位置开始查找指定字符在字符串中第一次出现处的索引,如果此字符串中没有这样的字符,则返回 -1。

  • ================注册测试题============

  • 要求用户名为2,3,4;密码为6位限制全是数字;邮箱要正确

  • public class T {
        public static void main(String[] args) {
            register ss = new register("刘海涛","123456","1194868144@qq.com");
            try {
                ss.get();
                System.out.println("注册成功");
            } catch (Exception e) {
                System.out.println(e.getMessage());
            }
        }
    }
    class register{
        private String name;
        private String pwd;
        private String email;
    
        public register(String name, String pwd, String email) {
            this.name = name;
            this.pwd = pwd;
            this.email = email;
        }
        public  void get(){
            int a = name.length();
            if(!(a >= 2 && a <= 4)){
                throw new RuntimeException("用户名长度为2或3或4");
            }
            if(!(pwd.length() == 6 && isDigital(pwd))){
                throw new RuntimeException("密码长度为6,要求全是数字");
            }
            int i = email.indexOf('@');
            int j = email.indexOf('.');
            if(!(i>0 && j>i)){
                throw new RuntimeException("邮箱中包含‘@’,并且在‘.’的前面");
            }
        }
        public static boolean isDigital(String str){
            char[] chars = str.toCharArray();
            for (int i = 0; i < chars.length; i++) {
                if(chars[i] < '0' ||chars[i] > '9'){
                    return false;
                }
            }
            return true;
        }
    
    }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值