1.1. 验证电子邮箱
规则:
1、邮件地址的组成内容:用户名@公司域名;
2、用户名可以是数字、字母和下划线;长度最低为3,最多为20,且不能以下划线和数字0开头;
3、公司的域名,由数字、字母和连字符(-)组成,但第一个字符不能是连字符多级域名之间用 . 隔开;
1.2. 通过正则,使用****替换字符串中所有手机号码的中间4位 (选做)
原字符串:"张三:13233332323;李四:15666668888;王五:18288999988";
替换后的字符串:"张三:132****2323;李四:156****8888;王五:182****9988";
1.3、统计指定字符在字符串中出现的次数
"ming tian fang jia ,zai jia zuo zuoye";
统计'a'出现的次数
1.4、统计指定字符串在另外一个字符串中出现的次数
"ming tian fang jia ,zai jia zuo zuoye";
"jia"的次数
1.编写正则类Regex
package com.bdsw.wxl.day2.homework;
import java.util.Scanner;
/**
*
* @author 王雪亮
* @date 2018年7月17日
* @Description 正则表达式习题:
* ①验证邮箱
* ②对手机号中间4位做加密处理
*/
public class Regex {
/**
*
*@function 验证邮箱
*/
public static void vertifyMail() {
//1.定义正则表达式regex
String regex="[a-zA-Z1-9](\\w){2}(\\w){0,17}@\\w(\\w|-)*(.\\w(\\w|-)*)*";
while(true)
{
//2.输入字符串s
Scanner sc=new Scanner(System.in);
String s=sc.next();
//3.判断是否合法,若不合法,重新输入
if(s.matches(regex)==true)
{System.out.println("输入的邮箱为合法邮箱");break;}
else System.out.println("输入邮箱不合法,请重新输入!");
}
}
/**
*
*@function 对手机号中间4位做加密处理
*/
public static void replace() {
//1.定义正则表达式regex
String regex="1[35789]\\d{9}";
while(true)
{
//2.输入字符串s
Scanner sc=new Scanner(System.in);
String s=sc.next();
//3.判断是否合法
if(s.matches(regex)==true)
{
//3.1若合法,加密输出
String str1=s.substring(0, 3);
String str2=s.substring(7,11);
String str=str1+"****"+str2;
System.out.println(str);break;}
else //3.2若不合法,重新输入
System.out.println("输入手机号不合法,请重新输入!");
}
}
}
2.编写字符串类String1
package com.bdsw.wxl.day2.homework;
/**
*
* @author 王雪亮
* @date 2018年7月17日
* @Description 字符串相关习题
* ①:统计字符'a'出现的次数
* ②:统计字符串"jia"出现的次数
* ③:通过一个字符串,绘制对应的三角形
*/
public class String1 {
/**
*
*@function 统计字符'a'出现的次数
*/
public static void count() {
//1.定义字符串s
String s="ming tian fang jia ,zai jia zuo zuo ye.";
//2.将字符串s拆分成字符数组,存放在字符数组a中
char a[]=s.toCharArray();
int count=0;
//3.遍历字符数组,将出现的次数存放在count中
for(int i=0;i<a.length;i++)
if(a[i]=='a') count++;
System.out.println("a出现"+count+"次");
}
/**
*
*@function 统计字符串'jia'出现的次数
*/
public static void countSubString() {
//1.定义字符串s
String s="ming tian fang jia ,zai jia zuo zuo ye.";
//2.将字符串通过"jia"拆分相应次数的子字符串
String a[]=s.split("jia");
//3."jia"出现的次数=子字符串的个数-1
int n=a.length-1;
System.out.println("jia出现"+n+"次");
}
/**
*
*@function 通过一个字符串,绘制对应的三角形
*/
public static void triAngle() {
String str="abcde";
for (int i = 1; i <= str.length(); i++) {
for (int j = i; j <= str.length(); j++) {
System.out.print(str.substring(j - i, j)+" ");
}
System.out.print("\n");
}
}
}
3.编写测试类Main
package com.bdsw.wxl.day2.homework;
public class Main {
public static void main(String[] args) {
System.out.println("\n\n------4.统计100个随机数中0~9的个数:");
Array.total();
System.out.println("\n\n------5.验证邮箱:");
Regex.vertifyMail();
System.out.println("\n\n------6.对手机号中间4位做加密处理:");
Regex.replace();
System.out.println("\n\n------7.统计字符'a'出现的次数:");
String1.count();
System.out.println("\n\n------8.统计字符串\"jia\"出现的次数:");
String1.countSubString();
// System.out.println("\n\n------9.通过一个字符串,绘制对应的三角形:");
// String1.triAngle();
}
}