阅读背景:

字符串基本操作

来源:互联网 
/*
 * 已知字符串,查询子字符串:subString();
 * 
 */
public void subStringTest(){
	//1.获得诞辰
	String str="110102198312262111";
//	String month = str.substring(10,11);
//	String date = str.substring(12,13);
	String month = str.substring(10,11+1);
	String date = str.substring(12,13+1);
	System.out.println("诞辰"+month+" "+date);
	//应当是12月26日,成果1月2日
	//问题:想要获得两位数,但仅取得1位
	//解决:public String substring(int beginIndex, int endIndex)用法解释:返回一个字串,其中start是起始的索引,end是终止的索引,返回的字串包括起始index的字符,但是不包括end的字符。
	//2.依据最后一名判性别:女:偶数或X  男:奇数
	//倒数第n位,都是长度-n
	String gender = str.substring(str.length()-1,str.length());
	System.out.println("性别"+(gender.equals("X")?"女":Integer.valueOf(gender)%2==0?"女":"男"));
//解释:字符串不能应用(int)方法强迫转换为整数,只能靠Integer.valueOf()
//判读奇偶:%2==0为偶数,否则奇数
	//3.应用*隐蔽出诞辰期:前6位+8个*+后4位
	//                     0-5        length-4
	String str1 = str.substring(0,5+1)+"********"+str.substring(str.length()-4,str.length());
	 System.out.println("中奖观众"+str1);  
	 //4.盘算年纪 2018-身份证中6-9位
   int age = 2018-Integer.valueOf(str.substring(6,9+1));//不要应用固定某个数字,应用函数更加灵巧
   System.out.println("年纪"+age);
}
/*
 * 去除字符串前后空字符串:trim (不去除中间的字符串)
 * 如果字符串前后包括空字符,返回一个新字符串对象
 * 否则,返回原字符串对象
 */
public void trimTest(){
	String name = "ironman";
	Scanner sc = new Scanner(System.in);
	System.out.println("请输入用户名:");
	String input = sc.nextLine();
	String trimed = input.trim();
	System.out.println(trimed==input?"同一个字符串":"新字符串");
	String trimd= input.trim();//主动去掉输入中过剩的空字符(空格,tab等)
	System.out.println(trimd.equals(name)?"登录胜利":"用户名不存在");
}
/*
 * 返回某个地位上的字符串
 */
public void charAtTest(){
	String str = "110102198312262111";
	//断定性别
	char gender = str.charAt(str.length()-1);
	System.out.println(gender);
	//强调:charAt返回的是字符类型,所有数字都以Unicode存储,
	System.out.println(gender+1);
	//解决:char内容的数字,转换为整数进行盘算  对48取余
	System.out.println(gender%48);
	//断定性别
	System.out.println(gender=="X"||gender%48%2==0?"女":"男");
}
/*
 * 找出字符串中反复的字符
 */
public void repeat(){
	String str = "no zuo no die";
	//算法:从第一个字符开端,遍历str中每一个字符。到倒数第2个字符
//	  每取出当前地位的字符:
//	                       应用indexOf,从当前地位以后开端,查找是不是雷同
//	                      只要找到当前反复字符,就打印当前字符
	  for (int i = 0; i < str.length(); i++) {
		char now = str.charAt(i);
		if (now!=" "&&str.indexOf(now,i+1)!=-1) {//等于负1解释没有涌现反复,没有它的地位
			if (str.lastIndexOf(now,i-1)==-1) {//断定后面有无反复的
				
				System.out.println(now+",");
			}
		}
	}
}
/*
 * 分割字符串为多段字符串:split
 * 需求:将字符串中每一个单词首字符,变成大写
 */
public void splitTest(){
	String str = "you can you up";
	//只要对字符串分段处置
	      //先用split分段,再遍历分段后的子字符串数组
	//step1:依据指定字符:空格 切割字符串
	String[] strs = str.split(" ");
	//step2:遍历切割后的子字符串
	for (int i = 0; i < strs.length; i++) {
		//对每一个单词分离处置
		char first = strs[i].charAt(0);
		if (first>="a"&&first<="z") {//解释是一个小写字母
			//小写变大写:减32
			first-=32;
			//将大写字母拼回原字符串
			strs[i]=first+strs[i].substring(1, strs[i].length());
			
		}
		System.out.println(strs[i]);
	}
	//遍历数组中每一个单词,拼回原字符串
	str="";
	for (int i = 0; i < strs.length; i++) {
		str+=strs[i]+" ";
	}str=str.trim();
	System.out.println(str);
}
public void Server(String cmd){
	if (cmd.startsWith("login")) {
		System.out.println("server:欢迎"+cmd.substring(6));
		
	}else if(cmd.startsWith("logout")){
		System.out.println("server:再见"+cmd.substring(7));
	}else if (cmd.startsWith("file:")) {
		if (cmd.endsWith(".exe")) {
			System.out.println("server制止传输可履行文件");
		}else{
			System.out.println("server正在传输"+cmd.substring(5));
		}
	}
	
}

/*
 * 摹拟客户端向服务器发送指令
 */
public void Client(){
	Server("login:yang");
	Server("logout:yang");
	Server("file:qq.rar");
}

/*
 * 邮箱验证
 */
public void caseTest(){
	/*
	//邮箱验证
	String mail = "[email protected]";
	Scanner sc = new Scanner(System.in);
	System.out.println("请输入邮箱地址");
	String input = sc.next();
	//问题:大小写
	//需求:大小写等量齐观(主动转化)
	//解决:将用户统一转换为大写或小写
	if (mail.equals(input.toLowerCase())) {
		System.out.println("邮箱名已被注册");
	}else{
		System.out.println(input+"注册胜利!");
	}*/
	/*验证码    部份大小写*/
String auth="4Eda";
Scanner sc = new Scanner(System.in);
System.out.println("请输入验证码:");
String input = sc.next();//验证码两个变量都要转换一样的大写或小写
if (auth.toUpperCase().equals(input.toUpperCase())) {
	System.out.println("验证通过");
}else{
	System.out.println("验证失败:");
}}
@Test
/*
 * 将其他类型转换为字符串类型:valueOf()不依附任何对象属于静态办法
 */
public void valueOfTest(){
	double pi=3.1415926;
	int value=123;
	boolean flag = true;
	char[] charArr = {"a","b","c","d"};
	String str = String.valueOf(pi);
	str = String.valueOf(value);
	str = String.valueOf(flag);
	//valueOf办法将char类型的数组,拼接为一个字符串
	str = String.valueOf(charArr);
	System.out.println(str);
	//默许的toString办法,输出对象的类型和对象的HashCode
	System.out.println(charArr.toString());
	//xx对象:toString():必需先创立对象,再调用对象的toString()办法
	//String.valueOf():属于静态办法,不须要借助任何对象
	//大多数valueOf办法,调用的都是toString办法
	//建议大家应用valueOf办法
	// 由于valueOf办法没有对象时,也能够调用,避免了空指针异常
	// valueOf比toString要硬朗
	
/*
 * 已知字符串,查询子字符串:subString();
 * 
 */
public vo



你的当前访问异常,请进行认证后继续阅读剩余内容。

分享到: