抛出异常的用法是 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; } }