zoukankan      html  css  js  c++  java
  • 项目三——字符串操作

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

      

  • 相关阅读:
    C++ UI资源
    值得学习的C/C++开源框架(转)
    NT AUTHORITYIUSR登录失败解决方法
    C#改变LInqToSQL的引用地址,读取config的数据库字符串
    C#引用类库时出现黄色三角加感叹号的处理
    无法嵌入互操作类型“Microsoft.Office.Interop.Word.ApplicationClass”。请改用适用的接口。
    C#在线预览文档(word,excel,pdf,txt,png)
    WCF上传大文件处理方法
    C#一般处理程序 ashx.cs使用Session报错问题
    网页弹出框ClientScript,ScriptManager
  • 原文地址:https://www.cnblogs.com/hxtblogs/p/7649532.html
Copyright © 2011-2022 走看看