项目三——字符串操作

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;
	}
}

  

原文地址:https://www.cnblogs.com/hxtblogs/p/7649532.html