1设计一个提供下面字符串操作的类
1)编写一个方法,查找在一个字符串中指定字符串出现的次数。
2)编写一个方法,参数(母字符串,目标字符串,替换字符串)将母字符串中的所有目标字符用替换字符串替换。
3)编写一个方法,判断一个email地址是否合法。
2.编写一个测试类,对1中的字符串类的方法逐一进行测试。
package pro3;
public class String01 {
public static void main(String[] args) {
StringOpe string01=new StringOpe("I love China! China China");
StringOpe string02=new StringOpe("616@6@qq.com");
StringOpe string03=new StringOpe("_6166@qq.com");
StringOpe string04=new StringOpe("6166.qq@com");
StringOpe string05=new StringOpe("6166@qq.com");
System.out.println("China在I love China! China China中出现了"+string01.findTime("China")+"次");
System.out.println("I love China! China China 中China换成Hebau: "+string01.repStr("China", "Hebau"));
System.out.println(string02.getter()+"这个邮箱"+string02.judge());
System.out.println(string03.getter()+"这个邮箱"+string03.judge());
System.out.println(string04.getter()+"这个邮箱"+string04.judge());
System.out.println(string05.getter()+"这个邮箱"+string05.judge());
}
}
class StringOpe{
private String string;
public StringOpe(String string){
this.string=string;
}
public String getter(){
return string;
}
public int findTime(String str){
int number=0;
int flag=0;
while((flag=string.indexOf(str, flag))!=-1){
flag=flag+str.length();
number++;
}
return number;
}
public String repStr(String str1,String str2){
return string.replace(str1, str2);
}
public String judge(){
boolean i=judgeEmail(string);
if(i==true){
return "邮箱地址合法";
}else if(i==false){
return "邮箱地址不合法";
}
return "";
}
private boolean judgeEmail(String string){
/*
* 1.地址中不包括@ 或 .
* 2.地址中包括多个 @ 或 .
* 3.邮箱地址中 . 出现 在@ 前面
* 4.首字符是数字和字母以外的
* 5.用户名中出现其他字符
*/
if(string.indexOf("@")==-1||string.indexOf(".")==-1){
return false;
}
if(string.indexOf("@")!=string.lastIndexOf("@")||string.indexOf(".")!=string.lastIndexOf(".")){
return false;
}
if(string.indexOf(".")<string.indexOf("@")){
return false;
}
if(!((string.charAt(0)>='0'&&string.charAt(0)<='9')||(string.charAt(0)>='a'&&string.charAt(0)<='z')||(string.charAt(0)>='A'&&string.charAt(0)<='Z'))){
return false;
}
for(int i=1;i<string.indexOf("@");i++){
if(!((string.charAt(i)>='0'&&string.charAt(i)<='9')||(string.charAt(i)>='a'&&string.charAt(i)<='z')||(string.charAt(i)>='A'&&string.charAt(i)<='Z')||(string.charAt(i)=='_'))){
return false;
}
}
return true;
}
}
浙公网安备 33010602011771号