电话薄程序

//该程序需要连接数据库。根据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;
                }

}

时间: 2024-10-05 05:31:17

电话薄程序的相关文章

C++学习之电话薄功能(类的简单应用)

本篇我们讨论一个小程序:实现电话薄简单功能.(一条语句最好一个作用) 问题描述 : a) : 实现电话添加记录功能:(电话重复的视为同一人,不予增添):即电话号码唯一. b) : 删除记录功能:(实现提醒功能:确认是否要真的删除) c) : 查询记录功能:(按手机号码查询); 待优化功能: 1) :每次启动程序都为空.故可以先从文件读取若干项至vector中:readfile功能. 2) :没有提供修改记录的功能:比如某人的电话号码或者住址改了.(先按照号码查询,然后按要求修改之即可.): 3)

用OC写一个可以分字母组,的电话薄,并实现功能

首先要创建 AddressContact 类, #import <Foundation/Foundation.h>   //---------AddressContact的.h文件 @interface AddressContact : NSObject {     NSString *_name;     NSString *_sex;     NSString *_phone;     NSString *_address;     NSString *_groupName;     NS

Android6.0来电号码电话薄名称匹配

本文将介绍系统接收到来电之后,如何在电话薄中进行匹配联系人的流程.分析将从另外一篇文章(基于Android6.0的RIL框架层模块分析)中提到的与本文内容相关的代码开始. //packages/service/***/Call.java public void handleCreateConnectionSuccess( CallIdMapper idMapper, ParcelableConnection connection) { setHandle(connection.getHandle

Android 电话薄调用相关

/* * 根据电话号码取得联系人姓名 */ public static String getContactNameByPhoneNumber(Context context, String address) { String[] projection = { ContactsContract.PhoneLookup.DISPLAY_NAME, ContactsContract.CommonDataKinds.Phone.NUMBER }; // 将自己添加到 msPeers 中 Cursor c

android 调用拨打电话,程序崩溃

FATAL EXCEPTION: main03-27 17:43:08.012: E/AndroidRuntime(18523): Process: com.mtq.freighthelper, PID: 1852303-27 17:43:08.012: E/AndroidRuntime(18523): java.lang.SecurityException: Permission Denial: starting Intent { act=android.intent.action.CALL

一个神秘的电话—一个程序员的成长史(2)

还有一天就是毕业典礼了,代是雄虽然表面平静,但内心里不免还是有些兴奋. 像往常一样,代是雄很早就起了床,在食堂吃了早饭之后便到实验室去学习了.对于早餐这事,代是雄从来都不含糊.很多学生在学校里面从不吃早餐,因为晚上玩得太晚,早上起不来,也就午餐和早餐一起吃了.都说大学是将一个人教育成才的地方,但具有讽刺意味的是很多坏习惯也是在大学里面养成的. 到达实验室之后,代是雄还是照例拿出一本书来看,而没有急着将电脑打开.自从读研以来,除非有紧急的任务,代是雄都是在实验室里先看一个到两个小时的纸质书,再打开

酷派5950手机系统更新后电话薄丢失怎么恢复?

今天,好久没有见面的几个同学突然開始闹腾起来.说是近期工作家庭都不是非常顺,想要出来聚聚,说什么男人的聚会,哎,事实上说白了,不就是几个酒鬼想要出来找酒喝么?只是几年没见.还是有些朋友有点犹豫. 于是几个没事的就開始找借口了!没想到说了一圈,最后说到了我买房子没有请大家吃饭,我还真是有些郁闷了.当时装完房子,我就接到了公司的指派.要出差去几个月,回来的时候房子的热潮也已经过了,也没在说起要请吃饭什么的!呵呵.如今竟然被弄出来翻旧账了!好吧,反正都是挨一顿整的,就来吧! 于是约好了去吃江湖菜,我也

iOS tableView类似电话薄右边的索引搜索

- (NSArray *)sectionIndexTitlesForTableView:(UITableView *)tableView { NSArray *array = @[@"a",@"b",@"c",@"d",@"e"]; return array; }

android 电话薄先10位匹配,若是无法匹配,则换成7位匹配

案例 1: 如果您保存的有:A:04165191666, B:5191666,  来电号码是:04165191666 因为是7位匹配,所以A和B都可以匹配到,但是最佳匹配还是A,最后显示A: 来电5191666则匹配到B. 案例 2: 仅保存 A:04165191666, 来电5191666或者04165191666则都匹配A. 案例 3: 仅保存 B:5191666, 来电5191666或者04165191666则都匹配B. 可以在7匹配的基础上,将符合条件的号码匹配做进一步筛选即可. 首先,