热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

利用Java开发功能完备的电话簿应用程序,支持添加、查询与删除操作

本研究基于Java语言开发了一款功能全面的电话簿应用程序,实现了与数据库的高效连接。该应用不仅支持添加、查询和删除联系人信息,还具备输出最大和最小ID号的功能,并能够对用户输入的ID号进行有效性验证,确保数据的准确性和完整性。详细实现方法可参阅相关文档。
//该程序需要连接数据库。根据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
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 addOperation() {

List
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 showAll() {

List
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 searchByName() {
List
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 searchByAge() {
List
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 searchBySex() {
List
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 searchByTelNum() {
List
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 searchByAdd() {
List
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
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
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
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
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
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
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
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 orderName() {

List
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 orderAge() {

List
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 orderSex() {

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




}

 


推荐阅读
  • 使用Pandas高效读取SQL脚本中的数据
    本文详细介绍了如何利用Pandas直接读取和解析SQL脚本,提供了一种高效的数据处理方法。该方法适用于各种数据库导出的SQL脚本,并且能够显著提升数据导入的速度和效率。 ... [详细]
  • 1:有如下一段程序:packagea.b.c;publicclassTest{privatestaticinti0;publicintgetNext(){return ... [详细]
  • 本文探讨了如何在Hive(基于Hadoop)环境中编写类似SQL的语句,以去除字段中的空格。特别是在处理邮政编码等数据时,去除特定位置的空格是常见的需求。 ... [详细]
  • Windows服务与数据库交互问题解析
    本文探讨了在Windows 10(64位)环境下开发的Windows服务,旨在定期向本地MS SQL Server (v.11)插入记录。尽管服务已成功安装并运行,但记录并未正确插入。我们将详细分析可能的原因及解决方案。 ... [详细]
  • 深入理解 SQL 视图、存储过程与事务
    本文详细介绍了SQL中的视图、存储过程和事务的概念及应用。视图为用户提供了一种灵活的数据查询方式,存储过程则封装了复杂的SQL逻辑,而事务确保了数据库操作的完整性和一致性。 ... [详细]
  • 本文深入探讨 MyBatis 中动态 SQL 的使用方法,包括 if/where、trim 自定义字符串截取规则、choose 分支选择、封装查询和修改条件的 where/set 标签、批量处理的 foreach 标签以及内置参数和 bind 的用法。 ... [详细]
  • 本文详细介绍了Akka中的BackoffSupervisor机制,探讨其在处理持久化失败和Actor重启时的应用。通过具体示例,展示了如何配置和使用BackoffSupervisor以实现更细粒度的异常处理。 ... [详细]
  • 根据最新发布的《互联网人才趋势报告》,尽管大量IT从业者已转向Python开发,但随着人工智能和大数据领域的迅猛发展,仍存在巨大的人才缺口。本文将详细介绍如何使用Python编写一个简单的爬虫程序,并提供完整的代码示例。 ... [详细]
  • python开发mysql:单表查询&多表查询
    一单表查询,以下是表内容二多表查询,一下是表内容三总结&表创建过程单 ... [详细]
  • 本文介绍了数据持久化的概念,重点讲解了MySQL数据库的基本操作,包括数据的查询、插入、更新及多表连接等,旨在帮助初学者快速掌握MySQL的核心功能。 ... [详细]
  • 优化ListView性能
    本文深入探讨了如何通过多种技术手段优化ListView的性能,包括视图复用、ViewHolder模式、分批加载数据、图片优化及内存管理等。这些方法能够显著提升应用的响应速度和用户体验。 ... [详细]
  • 本文详细介绍了Java编程语言中的核心概念和常见面试问题,包括集合类、数据结构、线程处理、Java虚拟机(JVM)、HTTP协议以及Git操作等方面的内容。通过深入分析每个主题,帮助读者更好地理解Java的关键特性和最佳实践。 ... [详细]
  • 在当前众多持久层框架中,MyBatis(前身为iBatis)凭借其轻量级、易用性和对SQL的直接支持,成为许多开发者的首选。本文将详细探讨MyBatis的核心概念、设计理念及其优势。 ... [详细]
  • 本文详细介绍了Hive中用于日期和字符串相互转换的多种函数,包括从时间戳到日期格式的转换、日期到时间戳的转换,以及如何处理不同格式的日期字符串。通过这些函数,用户可以轻松实现日期和字符串之间的灵活转换,满足数据处理中的各种需求。 ... [详细]
  • js常用方法(1)startWithJava代码varstartsWithfunction(str,regex){if(regexundefined||strundefined|| ... [详细]
author-avatar
萧鸿锵_976
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有