第三四章
4.使用正则表达式编写程序进行邮箱地址的正确性验证
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class MatcherDemo {
public static void main(String[] args){
String str = "838217604@qq.com";
String demo = "^[a-zA-Z0-9_-]+@[a-zA-Z0-9_-]+(\\.[a-zA-Z0-9_-]+)+$";
Pattern p=Pattern.compile(demo);
Matcher m=p.matcher(str);
if(m.matches()){
System.out.println("邮箱正确!");
}else{
System.out.println("邮箱不正确!");
}
}
}
5.编写一个简单的网页注册程序,使用正则表达式进行手机号码,邮箱地址及身份证号码的正确性验证。
import java.util.Scanner;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Check {
public static void main(String[] args) {
Pattern p = null;
Matcher m = null;
boolean b = true;
@SuppressWarnings("resource")
Scanner sc = new Scanner(System.in);
System.out.println("------用户注册------");
//匹配手机号
System.out.println("请输入你的手机号");
String phone = sc.nextLine();
p = Pattern.compile("^[1][3][0-9]{9}$");
m = p.matcher(phone);
b = m.matches();
//匹配邮箱地址
System.out.println("请输入你的邮箱");
String email = sc.nextLine();
p = Pattern.compile("^[A-Za-z0-9]+@([A-Za-z0-9]+\\.){1,2}[A-Za-z0-9]+$");
m = p.matcher(email);
b = m.matches();
//匹配身份证号码
System.out.println("请输入你的身份证号码");
String ID = sc.nextLine();
p = Pattern.compile("^[1-9]\\d{5}(18|19|([23]\\d))\\d{2}((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)\\d{3}[0-9Xx]$");
m = p.matcher(ID);
b = m.matches();
if(b) {
System.out.println("注册成功");
} else {
System.out.println("信息填写不正确!");
}
}
}
6.用方法引用编写上一篇的17题
public interface myInter {
void test(int x);
}
public abstract class Student {
public double NO;
public String name;
public int garede;
abstract void scholarship();
}
public class Scholarship {
static void cal_ungraduate(int garde) { //本科生计算标准
if(garde >=90 ) System.out.println("恭喜你获得一等奖学金!");
if(garde >=80 && garde < 90) System.out.println("恭喜你获得二等奖学金!");
if(garde >=70 && garde <80) System.out.println("恭喜你获得三等奖学金!");
if(garde <70 ) System.out.println("很遗憾没有获得奖学金,继续努力!");
}
static void cal_pogarduate(int garde) { //研究生计算标准
if(garde >=95 ) System.out.println("恭喜你获得一等奖学金!");
if(garde >=90 && garde < 95) System.out.println("恭喜你获得二等奖学金!");
if(garde >=80 && garde <90) System.out.println("恭喜你获得三等奖学金!");
if(garde <80 ) System.out.println("很遗憾没有获得奖学金,继续努力!");
}
}
public class TestStudent {
static void compTest(myInter p,int grade) {
p.test(grade);
}
public static void main(String[] args) {
compTest(Scholarship::cal_ungraduate,90);
compTest(Scholarship::cal_pogarduate,90);
}
}