//该程序需要连接数据库。根据word文档要求所有功能均已实现。
//大部分方法基本差不多,
//在查询修改的时候能输出 最大ID号 和最小ID号,并且可以对输入的ID号进行判断是否存在(具体方法请查看 修改电话号码, 其他修改方法暂时没有相对完善,
                                        只针对修改电话号码的方法进行了修改,方便后期对编写程序思路的查看)。 package 电话薄1; public class Menu { //主菜单
public void mainMenu()
{ for(int i = 0 ; i >= 0 ; i ++ )
{
System.out.println("***********************\n** 1.添加记录 **\n"
+ "** 2.查找记录 **\n"
+ "** 3.修改记录 **\n"
+ "** 4.删除记录 **\n"
+ "** 5.排序记录 **\n"
+ "** 6.退出系统 ** \n"
+ "***********************");
System.out.println("请输入正确的数字,最小是:1 最大是:6"); TelNoteRegex rtn = new TelNoteRegex();
Operate a = new Operate();
switch(rtn.menuRegex(1, 6))
{
case 1:
a.addLogic();
break; case 2:
a.searchLogic();
break; case 3:
a.modifyLogicLogic();
break; case 4:
a.deleteLogic();
break; case 5:
a.orderLogic();
break; case 6:
System.out.println("程序已关闭,欢迎下次使用");
i=-2;
break; } } } //添加用户菜单
public void addMenu() {
System.out.println("***********************\n"
+ "** 1.添加新记录 **\n"
+ "** 2.查看全记录 **\n"
+ "** 3.返回上一级 **\n"
+ "***********************");
System.out.println("请输入正确的数字,最小是:1 最大是:3"); } //查找用户菜单
void searchMenu() {
System.out.println("***********************\n"
+ "** 1.按姓名查找 **\n"
+ "** 2.按年龄查找 **\n"
+ "** 3.按性别查找 **\n"
+ "** 4.按号码查找 **\n"
+ "** 5.按住址查找 **\n"
+ "** 6.查看全记录 **\n"
+ "** 7.返回上一级 **\n"
+ "***********************");
System.out.println("请输入正确的数字,最小是:1 最大是:7");
} //修改用户信息菜单
void modifyMenu()
{
System.out.println("***********************\n"
+ "** 1.查看全记录 **\n"
+ "** 2.修改指定记录 **\n"
+ "** 3.返回上一级 **\n"
+ "***********************");
System.out.println("请输入正确的数字,最小是:1 最大是:3");
} //修改用户信息子菜单
void subModifyMenu ()
{
System.out.println("***********************\n"
+ "** 1.修改姓名 **\n"
+ "** 2.修改年龄 **\n"
+ "** 3.修改性别 **\n"
+ "** 4.修改号码 **\n"
+ "** 5.修改住址 **\n"
+ "** 6.返回上一级 **\n"
+ "***********************");
System.out.println("请输入正确的数字,最小是:1 最大是:6");
} //删除用户信息菜单
void deleteMenu ()
{
System.out.println("***********************\n"
+ "** 1.查看全记录 **\n"
+ "** 2.删除指定记录 **\n"
+ "** 3.删除全部记录 **\n"
+ "** 4.返回上级 **\n"
+ "************************");
System.out.println("请输入正确的数字,最小是:1 最大是:6");
} //排序用户信息菜单
void orderMenu ()
{
System.out.println("***********************\n"
+ "** 1.按姓名排序 **\n"
+ "** 2.按年龄排序 **\n"
+ "** 3.按性别排序 **\n"
+ "** 4.查看全部记录 **\n"
+ "** 5.返回上一级 **\n"
+ "***********************");
System.out.println("请输入正确的数字,最小是:1 最大是:6");
} }
package 电话薄1;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.Statement;
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner; import com.mchange.v2.c3p0.ComboPooledDataSource; public class Operate { // 连接池
ComboPooledDataSource cp = new ComboPooledDataSource("helloc3p0"); // 用户添加信息业务逻辑控制
public void addLogic() {
TelNoteRegex rtn = new TelNoteRegex();
Operate i = new Operate();
Menu m = new Menu();
m.addMenu();
switch (rtn.menuRegex(1, 3)) {
case 1:
addOperation();
// break; case 2:
List<Person> lb = i.showAll();
// break;
}
} // 用户查询信息业务逻辑控制
public void searchLogic() {
TelNoteRegex rtn = new TelNoteRegex();
Menu m = new Menu();
m.searchMenu();
switch (rtn.menuRegex(1, 7)) {
case 1:
searchByName();
break; case 2:
searchByAge();
break; case 3:
searchBySex();
break; case 4:
searchByTelNum();
break; case 5:
searchByAdd();
break; case 6:
showAll();
break;
}
} // 修改信息业务逻辑控制
public void modifyLogicLogic() {
TelNoteRegex rtn = new TelNoteRegex();
Menu m = new Menu();
m.modifyMenu();
switch (rtn.menuRegex(1, 3)) {
case 1:
showAll(); case 2:
modify();
break;
}
} // 修改指定记录信息
public void modify() {
TelNoteRegex rtn = new TelNoteRegex();
Menu m = new Menu();
m.subModifyMenu();
switch (rtn.menuRegex(1, 6)) {
case 1:
modName();
break; case 2:
modAge();
break; case 3:
modSex();
break; case 4:
modTelNum();
break; case 5:
modAdd();
break; case 6:
modifyLogicLogic();
break;
}
} // 删除信息业务逻辑控制
public void deleteLogic() {
TelNoteRegex rtn = new TelNoteRegex();
Menu m = new Menu();
m.deleteMenu();
switch (rtn.menuRegex(1, 4)) {
case 1:
showAll();
break; case 2:
delete();
break; case 3:
deleteAll();
break;
}
} // 排序信息业务逻辑控制
public void orderLogic() {
TelNoteRegex rtn = new TelNoteRegex();
Menu m = new Menu();
m.orderMenu();
switch (rtn.menuRegex(1, 5)) {
case 1:
orderName();
break; case 2:
orderAge();
break; case 3:
orderSex();
break; case 4:
showAll();
break;
}
} // 添加新用户信息
public List<Person> addOperation() { List<Person> rtn = new ArrayList<>();
try { Connection conn = cp.getConnection();
Statement st = conn.createStatement(); // 输入姓名并判断
TelNoteRegex name1 = new TelNoteRegex();
String name = name1.nameRegex(); // 输入年龄并判断
TelNoteRegex age1 = new TelNoteRegex();
String age = age1.ageRegex(); // 输入性别并判断
TelNoteRegex sex1 = new TelNoteRegex();
String sex = sex1.sexRegex(); // 输入电话号码并判断
TelNoteRegex telnum1 = new TelNoteRegex();
String telnum = telnum1.telnumRegex(); // 输入地址
TelNoteRegex address1 = new TelNoteRegex();
String address = address1.addressRegex(); String sql = "insert into person values(sq_person.nextval,?,?,?,?,?)"; PreparedStatement ps = conn.prepareStatement(sql); ps.setString(1, name);
ps.setString(2, age);
ps.setString(3, sex);
ps.setString(4, telnum);
ps.setString(5, address); ps.executeUpdate();
System.out.println("添加成功"); ps.close();
conn.close();
} catch (Exception e) {
e.printStackTrace();
}
return rtn;
} // 查询全部用户信息
public List<Person> showAll() { List<Person> rtn = new ArrayList<>();
try {
Connection conn = cp.getConnection(); Statement st = conn.createStatement(); ResultSet rs = st.executeQuery("select * from person"); // 遍历结果集
while (rs.next()) {
Person pe = new Person(); pe.setId(rs.getInt("id"));
pe.setName(rs.getString("name"));
pe.setAge(rs.getString("age"));
pe.setSex(rs.getString("sex"));
pe.setTelNum(rs.getString("telnum"));
pe.setAddress(rs.getString("address")); rtn.add(pe);
System.out.println(pe);
}
rs.close();
st.close();
cp.close(); } catch (Exception e) { e.printStackTrace();
} return rtn;
} // 按姓名查找
public List<Person> searchByName() {
List<Person> rtn = new ArrayList<>();
try {
Connection conn = cp.getConnection(); Statement st = conn.createStatement(); // 输入姓名并判断
TelNoteRegex name1 = new TelNoteRegex();
String name = name1.nameRegex(); String sql = "select * from person where name = '" + name + "'"; ResultSet rs = st.executeQuery(sql); // 遍历结果集
if (!rs.next()) {
System.out.println("没有相关数据");
} else {
rs = st.executeQuery(sql);
while (rs.next()) {
Person pe = new Person(); pe.setId(rs.getInt("id"));
pe.setName(rs.getString("name"));
pe.setAge(rs.getString("age"));
pe.setSex(rs.getString("sex"));
pe.setTelNum(rs.getString("telnum"));
pe.setAddress(rs.getString("address")); rtn.add(pe); System.out.println(pe);
}
}
rs.close();
st.close();
cp.close(); } catch (Exception e) { e.printStackTrace();
}
return rtn;
} // 按年龄查找
public List<Person> searchByAge() {
List<Person> rtn = new ArrayList<>();
try {
Connection conn = cp.getConnection(); Statement st = conn.createStatement(); // 输入年龄并判断
TelNoteRegex age1 = new TelNoteRegex();
String age = age1.ageRegex(); String sql = "select * from person where age = '" + age + "'"; ResultSet rs = st.executeQuery(sql); // 遍历结果集
if (!rs.next()) {
System.out.println("没有相关数据");
} else {
rs = st.executeQuery(sql);
while (rs.next()) {
Person pe = new Person(); pe.setId(rs.getInt("id"));
pe.setName(rs.getString("name"));
pe.setAge(rs.getString("age"));
pe.setSex(rs.getString("sex"));
pe.setTelNum(rs.getString("telnum"));
pe.setAddress(rs.getString("address")); rtn.add(pe); System.out.println(pe);
}
}
rs.close();
st.close();
cp.close(); } catch (Exception e) { e.printStackTrace();
}
return rtn;
} // 按性别查询
public List<Person> searchBySex() {
List<Person> rtn = new ArrayList<>();
try {
Connection conn = cp.getConnection(); Statement st = conn.createStatement(); // 输入性别并判断
TelNoteRegex sex1 = new TelNoteRegex();
String sex = sex1.sexRegex(); String sql = "select * from person where sex = '" + sex + "'"; ResultSet rs = st.executeQuery(sql); // 遍历结果集
if (!rs.next()) {
System.out.println("没有相关数据");
} else {
rs = st.executeQuery(sql);
while (rs.next()) {
Person pe = new Person(); pe.setId(rs.getInt("id"));
pe.setName(rs.getString("name"));
pe.setAge(rs.getString("age"));
pe.setSex(rs.getString("sex"));
pe.setTelNum(rs.getString("telnum"));
pe.setAddress(rs.getString("address")); rtn.add(pe); System.out.println(pe);
}
}
rs.close();
st.close();
cp.close(); } catch (Exception e) { e.printStackTrace();
}
return rtn;
} // 按号码查找
public List<Person> searchByTelNum() {
List<Person> rtn = new ArrayList<>();
try {
Connection conn = cp.getConnection(); Statement st = conn.createStatement(); // 输入号码并判断
TelNoteRegex telnum1 = new TelNoteRegex();
String telnum = telnum1.telnumRegex(); String sql = "select * from person where telnum = '" + telnum + "'"; ResultSet rs = st.executeQuery(sql); // 遍历结果集
if (!rs.next()) {
System.out.println("没有相关数据");
} else {
rs = st.executeQuery(sql);
while (rs.next()) {
Person pe = new Person(); pe.setId(rs.getInt("id"));
pe.setName(rs.getString("name"));
pe.setAge(rs.getString("age"));
pe.setSex(rs.getString("sex"));
pe.setTelNum(rs.getString("telnum"));
pe.setAddress(rs.getString("address")); rtn.add(pe); System.out.println(pe);
}
}
rs.close();
st.close();
cp.close(); } catch (Exception e) { e.printStackTrace();
}
return rtn;
} // 按号码查找
public List<Person> searchByAdd() {
List<Person> rtn = new ArrayList<>();
try {
Connection conn = cp.getConnection(); Statement st = conn.createStatement(); // 输入地址并判断
TelNoteRegex address1 = new TelNoteRegex();
String address = address1.addressRegex(); String sql = "select * from person where address = '" + address + "'"; ResultSet rs = st.executeQuery(sql); // 遍历结果集
if (!rs.next()) {
System.out.println("没有相关数据");
} else {
rs = st.executeQuery(sql);
while (rs.next()) {
Person pe = new Person(); pe.setId(rs.getInt("id"));
pe.setName(rs.getString("name"));
pe.setAge(rs.getString("age"));
pe.setSex(rs.getString("sex"));
pe.setTelNum(rs.getString("telnum"));
pe.setAddress(rs.getString("address")); rtn.add(pe); System.out.println(pe);
}
}
rs.close();
st.close();
cp.close(); } catch (Exception e) { e.printStackTrace();
}
return rtn;
} // 修改姓名
public void modName() {
List<Person> rtn = new ArrayList<>();
try {
Connection conn = cp.getConnection(); Statement st = conn.createStatement(); // 获取ID的最小值
ResultSet rs1 = st.executeQuery("select min(id) from person");
int min = 0;
rs1.next();
min = rs1.getInt(1); // 获取ID的最大值
ResultSet rs2 = st.executeQuery("select max(id) from person");
int max = 0;
rs2.next();
max = rs2.getInt(1); System.out.println("请输入要修改的ID号,最小ID号为:" + min + "最大ID号为:" + max);
Scanner scan = new Scanner(System.in);
int id = scan.nextInt(); // 输入姓名并判断
TelNoteRegex name1 = new TelNoteRegex();
String name = name1.nameRegex(); String sql = "update person set name = '" + name + "' where id = '" + id + "'"; ResultSet rs = st.executeQuery(sql); ResultSet rs5 = st.executeQuery("select * from person where id = '" + id + "'"); // 遍历结果集
if (!rs5.next()) {
System.out.println("没有相关数据,系统退回到主菜单");
} else {
rs = st.executeQuery(sql);
System.out.println("修改成功");
} rs.close();
st.close();
cp.close(); } catch (Exception e) { e.printStackTrace();
}
return; } // 修改年龄
public void modAge() {
List<Person> rtn = new ArrayList<>();
try {
Connection conn = cp.getConnection(); Statement st = conn.createStatement(); // 获取ID的最小值
ResultSet rs1 = st.executeQuery("select min(id) from person");
int min = 0;
rs1.next();
min = rs1.getInt(1); // 获取ID的最大值
ResultSet rs2 = st.executeQuery("select max(id) from person");
int max = 0;
rs2.next();
max = rs2.getInt(1); System.out.println("请输入要修改的ID号,最小ID号为:" + min + "最大ID号为:" + max);
Scanner scan = new Scanner(System.in);
int id = scan.nextInt(); // 输入姓名并判断
TelNoteRegex age1 = new TelNoteRegex();
String age = age1.ageRegex(); String sql = "update person set age = '" + age + "' where id = '" + id + "'"; ResultSet rs = st.executeQuery(sql); ResultSet rs5 = st.executeQuery("select * from person where id = '" + id + "'"); // 遍历结果集
if (!rs5.next()) {
System.out.println("没有相关数据,系统退回到主菜单");
} else {
rs = st.executeQuery(sql);
System.out.println("修改成功");
} rs.close();
st.close();
cp.close(); } catch (Exception e) { e.printStackTrace();
}
return; } // 修改性别
public void modSex() {
List<Person> rtn = new ArrayList<>();
try {
Connection conn = cp.getConnection(); Statement st = conn.createStatement(); // 获取ID的最小值
ResultSet rs1 = st.executeQuery("select min(id) from person");
int min = 0;
rs1.next();
min = rs1.getInt(1); // 获取ID的最大值
ResultSet rs2 = st.executeQuery("select max(id) from person");
int max = 0;
rs2.next();
max = rs2.getInt(1); System.out.println("请输入要修改的ID号,最小ID号为:" + min + "最大ID号为:" + max);
Scanner scan = new Scanner(System.in);
int id = scan.nextInt(); // 输入性别并判断
TelNoteRegex sex1 = new TelNoteRegex();
String sex = sex1.sexRegex(); String sql = "update person set sex = '" + sex + "' where id = '" + id + "'"; ResultSet rs = st.executeQuery(sql); ResultSet rs5 = st.executeQuery("select * from person where id = '" + id + "'"); // 遍历结果集
if (!rs5.next()) {
System.out.println("没有相关数据,系统退回到主菜单");
} else {
rs = st.executeQuery(sql);
System.out.println("修改成功");
} rs.close();
st.close();
cp.close(); } catch (Exception e) { e.printStackTrace();
}
return; } // 修改号码
public void modTelNum() {
List<Person> rtn = new ArrayList<>();
try {
Connection conn = cp.getConnection(); Statement st = conn.createStatement(); // 获取ID的最小值
ResultSet rs1 = st.executeQuery("select min(id) from person");
int min = 0;
rs1.next();
min = rs1.getInt(1); // 获取ID的最大值
ResultSet rs2 = st.executeQuery("select max(id) from person");
int max = 0;
rs2.next();
max = rs2.getInt(1); System.out.println("请输入要修改的ID号,最小ID号为:" + min + "最大ID号为:" + max);
Scanner scan = new Scanner(System.in);
int id = scan.nextInt();
ResultSet rs5 = st.executeQuery("select * from person where id = '" + id + "'");
if (!rs5.next()) {
System.out.println("没有相关数据,系统退回到主菜单"); // 遍历结果集 } else {
// 输入号码并判断
TelNoteRegex telnum1 = new TelNoteRegex();
String telnum = telnum1.telnumRegex(); String sql = "update person set telnum = '" + telnum + "' where id = '" + id + "'"; ResultSet rs = st.executeQuery(sql);
rs = st.executeQuery(sql);
System.out.println("修改成功");
} st.close();
cp.close(); } catch (Exception e) { e.printStackTrace();
}
return; } // 修改地址
public void modAdd() {
List<Person> rtn = new ArrayList<>();
try {
Connection conn = cp.getConnection(); Statement st = conn.createStatement(); // 获取ID的最小值
ResultSet rs1 = st.executeQuery("select min(id) from person");
int min = 0;
rs1.next();
min = rs1.getInt(1); // 获取ID的最大值
ResultSet rs2 = st.executeQuery("select max(id) from person");
int max = 0;
rs2.next();
max = rs2.getInt(1); System.out.println("请输入要修改的ID号,最小ID号为:" + min + "最大ID号为:" + max);
Scanner scan = new Scanner(System.in);
int id = scan.nextInt(); // 输入地址并判断
TelNoteRegex add1 = new TelNoteRegex();
String add = add1.addressRegex(); String sql = "update person set address = '" + add + "' where id = '" + id + "'"; ResultSet rs = st.executeQuery(sql); ResultSet rs5 = st.executeQuery("select * from person where id = '" + id + "'"); // 遍历结果集
if (!rs5.next()) {
System.out.println("没有相关数据,系统退回到主菜单");
} else {
rs = st.executeQuery(sql);
System.out.println("修改成功");
} rs.close();
st.close();
cp.close(); } catch (Exception e) { e.printStackTrace();
}
return; } // 删除指定用户信息
public void delete() {
List<Person> rtn = new ArrayList<>();
try {
Connection conn = cp.getConnection(); Statement st = conn.createStatement(); ResultSet rs1 = st.executeQuery("select min(id) from person"); ResultSet rs2 = st.executeQuery("select max(id) from person"); System.out.println(rs1); System.out.println("请输入要删除的ID");
Scanner scan = new Scanner(System.in); int id = scan.nextInt(); String sql = "delete from Person where id = '" + id + "'"; ResultSet rs = st.executeQuery(sql); rs = st.executeQuery(sql); System.out.println("删除成功"); rs.close();
st.close();
cp.close(); } catch (Exception e) { e.printStackTrace();
}
return;
} // 删除全部记录
public void deleteAll() {
List<Person> rtn = new ArrayList<>();
try {
Connection conn = cp.getConnection(); Statement st = conn.createStatement(); String sql = "truncate table person"; ResultSet rs = st.executeQuery(sql); rs = st.executeQuery(sql); System.out.println("全部数据已经清空"); rs.close();
st.close();
cp.close(); } catch (Exception e) { e.printStackTrace();
}
return;
} // 按用户姓名排序
public List<Person> orderName() { List<Person> rtn = new ArrayList<>();
try {
Connection conn = cp.getConnection(); Statement st = conn.createStatement(); ResultSet rs = st.executeQuery("select * from person order by name"); // 遍历结果集
while (rs.next()) {
Person pe = new Person(); pe.setId(rs.getInt("id"));
pe.setName(rs.getString("name"));
pe.setAge(rs.getString("age"));
pe.setSex(rs.getString("sex"));
pe.setTelNum(rs.getString("telnum"));
pe.setAddress(rs.getString("address")); rtn.add(pe);
System.out.println(pe);
}
rs.close();
st.close();
cp.close(); } catch (Exception e) {
e.printStackTrace();
}
return rtn;
} // 按用户年龄排序
public List<Person> orderAge() { List<Person> rtn = new ArrayList<>();
try {
Connection conn = cp.getConnection(); Statement st = conn.createStatement(); ResultSet rs = st.executeQuery("select * from person order by age"); // 遍历结果集
while (rs.next()) {
Person pe = new Person(); pe.setId(rs.getInt("id"));
pe.setName(rs.getString("name"));
pe.setAge(rs.getString("age"));
pe.setSex(rs.getString("sex"));
pe.setTelNum(rs.getString("telnum"));
pe.setAddress(rs.getString("address")); rtn.add(pe);
System.out.println(pe);
}
rs.close();
st.close();
cp.close(); } catch (Exception e) {
e.printStackTrace();
}
return rtn;
} // 按用户性别排序
public List<Person> orderSex() { List<Person> rtn = new ArrayList<>();
try {
Connection conn = cp.getConnection(); Statement st = conn.createStatement(); ResultSet rs = st.executeQuery("select * from person order by sex"); // 遍历结果集
while (rs.next()) {
Person pe = new Person(); pe.setId(rs.getInt("id"));
pe.setName(rs.getString("name"));
pe.setAge(rs.getString("age"));
pe.setSex(rs.getString("sex"));
pe.setTelNum(rs.getString("telnum"));
pe.setAddress(rs.getString("address")); rtn.add(pe);
System.out.println(pe);
}
rs.close();
st.close();
cp.close(); } catch (Exception e) {
e.printStackTrace();
}
return rtn;
} }
package 电话薄1;

public class Person {
private int id; //用户ID 属性
private String name; // 用户姓名属性
private String age; //用户年龄属性
private String sex; //用户性别属性
private String telNum; // 用户电话号码属性
private String address; //用户地址属性 //有参数构造方法
public Person(int id, String name, String age, String sex, String telNum, String address) {
this.id = id;
this.name = name;
this.age = age;
this.sex = sex;
this.telNum = telNum;
this.address = address;
} //无参构造方法
public Person() {
super();
// TODO 自动生成的构造函数存根
} public int getId() {
return id;
} public void setId(int id) {
this.id = id;
} public String getName() {
return name;
} public void setName(String name) {
this.name = name;
} public String getAge() {
return age;
} public void setAge(String age) {
this.age = age;
} public String getSex() {
return sex;
} public void setSex(String sex) {
this.sex = sex;
} public String getTelNum() {
return telNum;
} public void setTelNum(String telNum) {
this.telNum = telNum;
} public String getAddress() {
return address;
} public void setAddress(String address) {
this.address = address;
} @Override
public String toString() {
return "[序号=" + id + ", 姓名=" + name + ", 年龄=" + age + ", 性别=" + sex + ", 号码=" + telNum
+ ", 地址=" + address + "]";
} }
package 电话薄1;

import java.util.Scanner;

public class TelNoteRegex {

    //对菜单输入选项的验证
public int menuRegex (int min, int max )
{
Scanner scan = new Scanner(System.in);
int z = 0;
try{ while(true)
{
z = scan.nextInt(); if(z>=min && z<=max)
{
break;
}
else{
System.out.println("输入有误,请重新输入"+min+"到"+max);
}
}
return z;
}
catch(Exception e){
System.out.println("输入错误");
}
return z ;
} //对用户输入姓名的验证
public String nameRegex()
{
System.out.println("请输入姓名,1-10位字母");
Scanner scan = new Scanner(System.in);
String name = "";
while(true)
{
name= scan.nextLine();
if(name.matches("[A-Za-z]{1,10}"))
{
break;
}
else
{
System.out.println("输入错误,请重新输入1-10位字母");
}
}
return name;
} //对用户输入年龄的验证
public String ageRegex()
{
System.out.println("请输入年龄,1-100+");
Scanner scan = new Scanner(System.in);
String age = "";
while(true)
{
age= scan.nextLine();
if(age.matches("[0-9]{1,2}"))
{
break;
}
else
{
System.out.println("输入错误,请重新输入1-100");
}
}
return age;
} //对用户输入性别的验证
public String sexRegex()
{
System.out.println("输入性别,(男 m or M) (女 f or F)");
Scanner scan = new Scanner(System.in);
String sex = "";
while(true)
{
sex= scan.nextLine();
if(sex.matches("男|女|m|M|f|F"))
{
break;
}
else
{
System.out.println("输入错误,请重新输入性别,(男 m or M) (女 f or F)");
}
}
return sex;
} //对用户输入年龄的验证
public String telnumRegex ()
{
System.out.println("输入电话号码,6-11位数字");
Scanner scan = new Scanner(System.in);
String telNum = "";
while(true)
{
telNum= scan.nextLine();
if(telNum.matches("[0-9]{6,11}"))
{
break;
}
else
{
System.out.println("输入错误,请重新输入电话号码,6-11位数字");
}
}
return telNum;
} //对用户输入地址的验证
public String addressRegex ()
{
System.out.println("输入地址,1-50位字母或数字");
Scanner scan = new Scanner(System.in);
String address = "";
while(true)
{
address= scan.nextLine();
if(address.matches("[A-Za-z0-9]{1,50}"))
{
break;
}
else
{
System.out.println("输入错误,请重新输入地址,1-50位字母或数字");
}
}
return address;
} }

使用JAVA编写电话薄程序,具备添加,查找,删除等功能的更多相关文章

  1. Java编写画图板程序细节-保存已画图形

    没有Java编写画图板程序细节-保存已画图形   一.为何我们要保存画图板上已画图形呢? 有很多人会问,为什么我们一定要保存画图板上已经画好了的图形呢?原因很简单.当我们在画图板上画完自己想画的图形后 ...

  2. Android高级控件(一)——ListView绑定CheckBox实现全选,添加和删除等功能

    Android高级控件(一)--ListView绑定CheckBox实现全选,添加和删除等功能 这个控件还是挺复杂的.也是项目中应该算是比較经常使用的了,所以写了一个小Demo来讲讲,主要是自己定义a ...

  3. Java编写时钟 Applet 程序

    简单分析: package clockApplet; import java.applet.Applet; import java.awt.Color; import java.awt.Graphic ...

  4. java编写的2048程序

    import javax.swing.*; import java.awt.*; import java.awt.event.*; import java.io.*; import java.util ...

  5. 「小程序JAVA实战」小程序我的个人信息-注销功能(42)

    转自:https://idig8.com/2018/09/06/xiaochengxujavashizhanxiaochengxuwodegerenxinxi-zhuxiaogongneng40/ 注 ...

  6. java 编写函数将字符串的首尾空格删除。

    String 类有个方法去除字符串首位空格: str.trim(); 查看源代码: public String trim() { int len = value.length; ; char[] va ...

  7. Java 编写小程序,下载指定网页上的所有图片

    使用Java编写一个小程序,可以根据指定的网页地址,下载网页中的所有图片:使用到网络编程.线程池.IO和UUID的技术.具体代码如下: import java.io.File; import java ...

  8. Java 操作Word书签(一):添加、删除、读取书签

    Word中,书签功能常用于查找.定位.标记特定字符或段落,对于篇幅较大的文档,此功能非常实用.下面,将介绍通过Java程序来添加及删除Word书签的方法.示例要点包括: 1. 添加书签 1.1 给指定 ...

  9. .NET Core 3.1 编写混合 C++ 程序

    前言 随着 .NET Core 3.1 的第二个预览版本发布,微软正式将 C++/CLI 移植到 .NET Core 上,从此可以使用 C++ 编写 .NET Core 的程序了. 由于目前仅有 MS ...

随机推荐

  1. .NET Web开发笔记

    HttpWebRequest HttpWebRequest默认关闭Cookies,给其赋初始值以打开Cookies读写 myRequest.CookieContainer = new CookieCo ...

  2. python基础04 运算

    数学运算 print 2+2  #加法 print 1.3-4 #剪法 print 3*5 #乘法 print 4.5/1.5 #除法 print 3**2   #乘方 print 10%3   #求 ...

  3. 【BZOJ1857】[Scoi2010]传送带 三分法

    三分套三分,挺神奇的...每次找到,每个传送带的上下两个三等分点,下面那个小,则一定有更优的在中间. #include <iostream> #include <cstdio> ...

  4. [Android] 多重使用Fragment 中的onFragmentInteraction

    新建的一个Fragment,被一个Activity使用,那么这个Activity需要继承一个接口: public class MainActivity extends Activity impleme ...

  5. [ios]关于用FMDB 操作数据库 删除 tableView 后刷新

    刚了解使用fmdb,从数据库获取数据 绑定到一个可变数组classNameItems //从ClassList表取得数据 FMResultSet *classInfo=[db executeQuery ...

  6. 深入浅出 妙用Javascript中apply、call、bind

    apply.call 在 javascript 中,call 和 apply 都是为了改变某个函数运行时的上下文(context)而存在的,换句话说,就是为了改变函数体内部 this 的指向. Jav ...

  7. 下载apk文件浏览器会直接打开并显示乱码的问题

    今天同事反映他的apk文件在自己的老项目中下载有问题:下载apk文件浏览器会直接打开并显示乱码,在别的项目中就没有问题. 后分析response的content-type发现,老项目的类型是text/ ...

  8. java 连接数据库

    1.获取服务器端数据库blog中记录数 package dataprocess; import java.io.BufferedWriter; import java.io.FileWriter; i ...

  9. JDBC增删改查简单测试

    首先编写一个entity以便与数据库表文件相对应 lyTable.java public class LyTable implements java.io.Serializable { private ...

  10. Ubuntu Server无线连接配置

    由于Ubuntu  Linux内核对于WPA的加密方式支持不是很好,所有使用普通方式的命令行无法连接WPA2类型的路由.首先检查是否安装了wpasupplicant,Ubuntu 10.04已经安装了 ...