智能电话本项目

智能电话本项目

一、项目介绍

  1. 项目描述
    该项目是用于日常生活中记录联系人信息的一款智能小工具。
    实现了对联系人的姓名、年龄、性别、电话号码、住址的添加及修改、查找、删除、排序等功能。该项目是以 Windows控制台为运行平台,所有的操作都应在控制台上进行。

  2. 编写目的
    通过该项目可以对JavaSE的知识点进行统一的复习,将平时所学的内容综合到—起并运用到实际的项目中。
    该项目能够充分的体现出一些简单的业务流程处理,能够使同学们掌握基本的业务流程处理。
    进一步理解什么是面相对象设计(0OD: 0bject briented Design)。充分理解面向对象设计的精髓。

二、项目演示
在这里插入图片描述
在这里插入图片描述
三、技术说明

  1. 业务流程结构图
    主菜单5个业务功能(操作记录相关的功能)和一个系统功能(操作系统的功能), 主菜单的作用主要是来控制5个业务功能的二级子菜单,各个二级子菜单实现具体的业务功能

在这里插入图片描述

  1. 数据存储结构
    在这里插入图片描述

  2. 技术要求

    • JDK版本为1.8或以上
    • 键盘输入Scanner类
    • 正则表达式Pattern类
    • 容器ArrayList类
    • 排序方式(比较器排序)Comparator接口,Collections类的sort方法
  3. 开发环境
    Windows操作系统

  4. 开发工具
    eclipse

四、编码规范

  1. 类名

    • App对应Application(程序入口类)
    • Menu 对应Menu(菜单类)
    • Operate 对应Operate(业务处理类)
    • Person 对应Person(实体类)
    • TelNoteRegex 对应TelNoteRegex(用户输入验证类)
    • OrderByName 对应OrderByName (姓名排序比较器)
    • OrderByAge 对应OrderByAge(年龄排序比较器)
    • OrderBySex对应OrderBySex(性别排序比较器)
  2. 方法名

    • App类中方法
      main()启动程序方法
      start()主菜单控制

    • Operate类中方法
      private List< Person > list容器
      addLogic()用户添加记录业务逻辑控制
      searchLogic()用户查询记录业务逻辑控制
      modifyLogic()修改记录业务逻辑控制
      deleteLogic()删除记录业务逻辑控制
      orderLogic()排序记录业务逻辑控制
      addOperation ()添加新记录信息
      showAll()查询全部记录
      searchByName()按姓名查询记录
      searchByAge()按年龄查询记录
      searchBySex()按性别查询记录
      searchByTelNum()按电话号码查询记录
      searchByAdd()按地址查询记录
      modifyOperation()修改指定记录
      deleteOperation()删除指定记录
      deleteAllOperation()删除全部记录
      orderName()按用户姓名排序记录
      orderAge()按用户年龄排序记录
      orderSex()按用户性别排序记录

    1. TelNoteRegex类中方法
      menultemValidate (int min, int max)对菜单输入选项的验证
      nameValidate ( )对用户输入姓名的验证
      ageValidate ( )对用户输入年龄的验证
      sexValidate ( )对用户输入性别的验证
      telNumValidate ( )对用户输入电话号码的验证
      addressValidate ( )对用户输入地址的验证

    2. Menu类中的方法
      mainMenu()主菜单
      addMenu()添加记录菜单
      searchMenu ()查找记录菜单
      modifyMenu()修改记录主菜单I
      subModifyMenu()修改记录子菜单
      deleteMenu ()删除记录菜单
      orderMenu ()排序记录菜单

    3. Person类中的方法
      private int id;用户序号属性
      private String name;用户姓名属性
      private String age;用户年龄属性
      private String sex;用户性别属性
      private String telNum;用户电话号码属性
      private String address;用户地址属性
      Person()无参数构造方法
      Person(String name, String age, String sex, String telNum, String address)有参数构造方法
      getName()读取用户名
      setName(String name)设置用户名
      getAge()读取用户年龄
      setAge(String age)设置用户年龄
      getSex()读取用户性别
      setSex(String sex)设置用户性别
      getTelNum()读取用户电话号码
      setTelNum (String telNum)设置用户电话号码
      getAddress()读取用户地址
      setAddress(String address)设置用户地址
      getlD ()读取用户ID号
      setlD (int ID)设置用户ID号
      toString()连接字符串方法

    4. OrderByName类中的方法名
      compare(Person p1,Person p2)根据姓名排序方法

    5. OrderByAge类中的方法名
      compare(Person p1, Person p2)根据年龄排序方法

    6. OrderBySex类中的方法名
      compare(Person p1, Person p2)根据性别排序方法

五、项目开发

  1. 创建项目
    在这里插入图片描述

  2. 创建类

/**
 * 电话本项目入口类
 * @author TheMutents
 *
 */
public class App {
	
	/**
	 * 启动电话本项目
	 * @param args
	 */
public static void main(String[] args) {
	
}
/**
 * 控制主菜单
 */
public void start(){
	
}
}
/**
 * 生产项目中的所有菜单
 * @author TheMutents
 *
 */
public class Meun {

	//主界面
	public void mainMenu(){
		System.out.println("******************");
		System.out.println("**   1.添加记录        **");
		System.out.println("**   2.查找记录        **");
		System.out.println("**   3.修改记录        **");
		System.out.println("**   4.删除记录        **");
		System.out.println("**   5.排序记录        **");
		System.out.println("**   6.退出系统        **");
		System.out.println("******************");
	}
	
	//添加界面
	public void addMenu(){
		System.out.println("******************");
		System.out.println("**   1.添加新记录            **");
		System.out.println("**   2.查看全部记录        **");
		System.out.println("**   3.返回上一级            **");
		System.out.println("******************");

	}
	
	//查找界面
	public void searchMenu(){
		System.out.println("******************");
		System.out.println("**   1.按姓名查找        **");
		System.out.println("**   2.按年龄查找        **");
		System.out.println("**   3.按性别查找        **");
		System.out.println("**   4.按号码查找        **");
		System.out.println("**   5.按住址查找        **");
		System.out.println("**   6.查看全部记录     **");
		System.out.println("**   7.返回上一级         **");
		System.out.println("******************");
	}
	
	//修改界面
	public void modifyMenu(){
		System.out.println("******************");
		System.out.println("**   1.查看全部记录        **");
		System.out.println("**   2.修改指定记录        **");
		System.out.println("**   3.返回上一级            **");
		System.out.println("******************");

	}
	
	//修改子界面
	public void subModifyMenu(){
		System.out.println("******************");
		System.out.println("**   1.修改姓名        **");
		System.out.println("**   2.修改年龄        **");
		System.out.println("**   3.修改性别         **");
		System.out.println("**   4.修改号码         **");
		System.out.println("**   5.修改住址         **");
		System.out.println("**   6.返回上一级      **");
		System.out.println("******************");
	}
	
	//删除界面
	public void deleteMenu(){
		System.out.println("******************");
		System.out.println("**   1.查看全部记录        **");
		System.out.println("**   2.删除指定记录        **");
		System.out.println("**   3.删除全部记录        **");
		System.out.println("**   4.返回上一级            **");
		System.out.println("******************");

	}
	
	//排序界面
	public void orderMenu(){
		System.out.println("******************");
		System.out.println("**   1.按姓名排序        **");
		System.out.println("**   2.按年龄排序        **");
		System.out.println("**   3.按性别排序        **");
		System.out.println("**   4.查看全部记录     **");
		System.out.println("**   5.返回上一级         **");
		System.out.println("******************");
	}
}

package com.TheMutents;
/**
 * 实体类
 * @author TheMutents
 *
 */
public class Person {

	private int id;
	private String name;
	private String age;
	private String sex;
	private String telNum;
	private String address;
	
	
	public Person() {
		super();
		// TODO Auto-generated constructor stub
	}
	
	
	public Person(String name, String age, String sex, String telNum, String address) {
		super();
		this.name = name;
		this.age = age;
		this.sex = sex;
		this.telNum = telNum;
		this.address = address;
	}


	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() {
		StringBuffer sb=new StringBuffer();
		sb.append("序号").append(this.id).append("#").append("\t");
		sb.append("姓名").append("this.name").append("\t\t");
		sb.append("年龄").append(age).append("\t\t");
		sb.append("性别").append(this.sex).append("\t\t");
		sb.append("电话号码").append(this.telNum).append("\t\t");
		sb.append("地址").append(this.address);
		return sb.toString();

	}
}

package com.TheMutents;

import java.util.ArrayList;
import java.util.List;

/**
 * 核心业务类
 * @author TheMutents
 *
 */
public class Operate {

	private List<Person> list;
	
	public Operate(){
		this.list=new ArrayList<>();
	}
	
	/**
	 * 用户添加记录业务逻辑控制
	 */
	public void addLogic(){
		
	}
	
	/**
	 * 用户查询记录业务逻辑控制
	 */
	public void searchLogic(){
		
	}
	
	/**
	 * 修改记录业务逻辑控制
	 */
	public void modifyLogic(){
		
	}
	/**
	 * 删除记录业务逻辑控制
	 */
	public void deleteLogic(){
		
	}
	
	/**
	 * 排序记录业务逻辑控制
	 */
	public void orderLogic(){
		
	}
	
	/**
	 * 添加新记录信息   
	 */
	public void addOperation(){
		
	}
	
	/**
	 * 查询全部记录
	 */
	public void showAll(){
		
	}
	
	/**
	 * 按姓名查询记录
	 */
	public void searchByName(){
		
	}
	
	/**
	 * 按年龄查询记录
	 */
	public void searchByAge(){
		
	}
	
	/**
	 * 按性别查询记录
	 */
	public void searchBySex(){
		
	}
	
	/**
	 * 按电话号码查询记录
	 */
	public void searchByTelNum(){
		
	}
	
	/**
	 * 按地址查询记录
	 */
	public void searchByAdd(){
		
	}
	
	/**
	 * 修改指定记录
	 */
	public void modifyOperation(){
		
	}
	
	/**
	 * 删除指定记录
	 */
	public void deleteOperation(){
		
	}
	
	/**
	 * 删除全部记录
	 */
	public void deleteAllOperation(){
		
	}
	
	/**
	 * 按用户姓名排序记录
	 */
	public void orderName(){
		
	}
	
	/**
	 * 按用户年龄排序记录
	 */
	public void orderAge(){
		
	}
	
	/**
	 * 按用户性别排序记录
	 */
	public void orderSex(){
		
	}
}

package com.TheMutents;
/**
 * 数据校验类
 * @author TheMutents
 *
 */
public class TelNoteRegex {
	/**
	 * 对菜单输入选项的验证
	 */
	public int menuItemValidate(int min,int max){
		return 0;
	}
	/**
	 * 对用户输入姓名的验证
	 */
	public String nameValidate(){
		return null;
	}
	
	/**
	 *对用户输入年龄的验证 
	 */
	public String ageValidate(){
		return null;
	}
	/**
	 * 对用户输入性别的验证
	 */
	public String sexValidate(){
		return null;
		
	}
	/**
	 * 对用户输入电话号码的验证
	 */
	public String telNumValidate(){
		return null;
		
	}
	/**
	 * 对用户输入地址的验证
	 */
	public String addressValidate(){
		return null;
		
	}

}

	/**
	 * 排序器只能对在电话本中所存储的记录进行排序,不具备通用性,所以定义成Operate
的内部类
	 * @author TheMutents
	 *
	 */
	
	/**
	 * 按姓名排序比较器
	 * @author TheMutents
	 *
	 */
	class OrderByName implements Comparator<Person>{

		@Override
		public int compare(Person o1, Person o2) {
			// TODO Auto-generated method stub
			return 0;
		}
		
	}

	/**
	 * 按年龄排序比较器
	 */
	class OrderByAge implements Comparator<Person>{
		
		@Override
		public int compare(Person o1, Person o2) {
			// TODO Auto-generated method stub
			return 0;
		}
		
	}
	
	/**
	 * 按性别排序比较器
	 */
	class OrderBySex implements Comparator<Person>{

		@Override
		public int compare(Person o1, Person o2) {
			// TODO Auto-generated method stub
			return 0;
		}
	}
}
  1. 实现验证类中的方法
	/**
	 * 对菜单输入选项的验证
	 */
	public int menuItemValidate(int min,int max){
		//定义验证菜单项的正则表达式
		String regex="[1-9]{1}";
		//创建键盘输入对象
		Scanner scanner=new Scanner(System.in);
		
		while(true){
			System.err.println("请输入"+min+"-"+"max"+"之间的数字");
			String input =scanner.nextLine();
			if(input.matches(regex)){
				int inputNum=Integer.parseInt(input);
				if(inputNum>=min&& inputNum<=max){
					return inputNum;
				}else{
					System.out.println("无此菜单项,请重新输入!");
				}
			}else{
				System.out.println("输入不正确,请重新输入!");
			}
		}
		
	}
	/**
	 * 对用户输入姓名的验证
	 * 
	 */
	public String nameValidate(){
		//验证姓名的正则表达式
		String regex="[a-zA-Z]{1-10}";
		//创建Scanner对象
		Scanner scanner=new Scanner(System.in);
		while(true){
			System.out.println("请输入姓名,格式为:1-10位大写或小写字母");
			String input=scanner.nextLine();
			if(input.matches(regex)){
				return input;
			}else{
				System.out.println("当前输入的姓名有误,请重新输入!");
			}
		}
	}
	/**
	 *对用户输入年龄的验证 
	 *年龄:10-99
	 */
	public String ageValidate(){
		//对年龄校验的正则表达式
		String regex="[1-9]{1}[0-9]{1}";
		//创建键盘输入对象
		Scanner scanner=new Scanner(System.in);
		while(true){
			System.out.println("请输入10-99之间的年龄");
			String input=scanner.nextLine();
			if(input.matches(regex)){
				return input;
			}else{
				System.out.println("您当前输入的年龄格式有误,请重新输入!");
			}
		}
	}
	/**
	 * 对用户输入性别的验证
	 * 性别的输入要求:男(m或M)女(f或F)
	 */
	public String sexValidate(){
		//对性别验证的正则表达式
		String regex="[m|M|f|F]{1}";
		//创建Scanner对象
		Scanner scanner=new Scanner(System.in);
		while(true){
			System.out.println("输入性别:(男:m或M,女:f或F)");
			String input =scanner.nextLine();
			if(input.matches(regex)){
				return input;
			}else{
				System.out.println("输入性别格式有误,请重新输入!");
			}
		}
	}
	/**
	 * 对用户输入电话号码的验证
	 * 电话号码要求:允许带有区号的座机号,允许手机号
	 */
	public String telNumValidate(){
		//对电话号码验证的正则表达式
		String regex="(\\d{3,4}-\\d{7,8})|([1]{1}\\d{10})";
		//创建scanner对象
		Scanner scanner=new Scanner(System.in);
		while(true){
			System.out.println("请输入电话号码(座机号或手机号)");
			String input=scanner.nextLine();
			if(input.matches(regex)){
				return input;
			}else{
				System.out.println("当前输入的电话号码格式有误,请重新输入!");	
			}
		}	
	}
	/**
	 * 对用户输入地址的验证
	 * 地址:字母或数字,长度1-50
	 */
	public String addressValidate(){
		//对地址验证的正则表达式
		String regex="\\w{1,50}";
		//创建scanner对象
		Scanner scanner=new Scanner(System.in);
		while(true){
			System.out.println("请输入地址:格式为字母或数字,长度1-50");
			String input=scanner.nextLine();
			if(input.matches(regex)){
				return input;
			}else{
				System.out.println("当前输入的地址格式有误,请重新输入!");	
			}
		}	
	}

  1. 实现App类中的方法

/**
 * 电话本项目入口类
 * @author Lhk
 *
 */
public class App {
	
	/**
	 * 启动电话本项目
	 * @param args
	 */
public static void main(String[] args) {
	App app=new App();
	app.start();
}
/**
 * 控制主菜单
 */
public void start(){
	Menu menu=new Menu();
	TelNoteRegex regex=new TelNoteRegex();
	Operate operate=new Operate();
	while(true){
		menu.mainMenu();
		int item=regex.menuItemValidate(1, 6);
		switch(item){
		case 1:operate.addLogic();break;
		case 2:operate.searchLogic();;break;
		case 3:operate.modifyLogic();break;
		case 4:operate.deleteLogic();break;
		case 5:operate.orderLogic();break;
		case 6:System.exit(0);//结束Java虚拟机
		}
	}

}
}
  1. 实现Operate类中的方法
	/**
	 * 用户添加记录业务逻辑控制
	 */
	public void addLogic(){
		Menu menu=new Menu();
		TelNoteRegex regex=new TelNoteRegex();
	while(true){
		menu.addMenu();
		int item=regex.menuItemValidate(1, 3);
		switch(item){
		case 1:this.addOperation();break;
		case 2:this.showAll(); break;
		case 3: return;
		}
	}
	}
/**
	 * 用户查询记录业务逻辑控制
	 */
	public void searchLogic(){
		Menu menu=new Menu();
		TelNoteRegex regex=new TelNoteRegex();
	while(true){
		menu.searchMenu();
		int item=regex.menuItemValidate(1, 7);
		switch(item){
		case 1:this.searchByName();break;
		case 2:this.searchByAge(); break;
		case 3:this.searchBySex(); break;
		case 4:this.searchByTelNum(); break;
		case 5:this.searchByAdd();break;
		case 6:this.showAll(); break;
		case 7:return;
		}
	}
	}
/**
	 * 修改记录业务逻辑控制
	 */
	public void modifyLogic(){
		Menu menu=new Menu();
		TelNoteRegex regex=new TelNoteRegex();
	while(true){
		menu.modifyMenu();
		int item=regex.menuItemValidate(1, 3);
		switch(item){
		case 1:this.showAll();break;
		case 2:this.modifyOperation(); break;
		case 3: return;
		}
	}	
	}
/**
	 * 删除记录业务逻辑控制
	 */
	public void deleteLogic(){
		Menu menu=new Menu();
		TelNoteRegex regex=new TelNoteRegex();
	while(true){
		menu.deleteMenu();
		int item=regex.menuItemValidate(1, 4);
		switch(item){
		case 1:this.showAll();break;
		case 2:this.deleteOperation(); break;
		case 3:this.deleteAllOperation();break;
		case 4: return;
		}
	}	
	}
/**
	 * 排序记录业务逻辑控制
	 */
	public void orderLogic(){
		Menu menu=new Menu();
		TelNoteRegex regex=new TelNoteRegex();
	while(true){
		menu.orderMenu();
		int item=regex.menuItemValidate(1, 5);
		switch(item){
		case 1:this.orderName();break;
		case 2:this.orderAge(); break;
		case 3:this.orderSex();break;
		case 4:this.showAll(); return;
		case 5: return;

		}
	}	
	}
/**
	 * 添加新记录信息   
	 */
	public void addOperation(){
		TelNoteRegex regex=new TelNoteRegex();
		String name=regex.nameValidate();
		String age=regex.ageValidate();
		String sex=regex.sexValidate();
		String telNum=regex.telNumValidate();
		String address=regex.addressValidate();
		Person person=new Person(name, age, sex, telNum, address);
		this.list.add(person);
		person.setId(list.size());
	}
	/**
	 * 查询全部记录
	 */
	public void showAll(){
		if(this.list.size()==0){
			System.out.println("电话本中无记录,请先添加记录!");
			return;
		}
		for(int i=0;i<this.list.size();i++){
			System.out.println(this.list.get(i));
		}
	}
/**
	 * 按姓名查询记录
	 */
	public void searchByName(){
	TelNoteRegex regex=new TelNoteRegex();
	String name=regex.nameValidate();
	boolean flag=true;
	for(int i=0;i<this.list.size();i++){
		if(name.equals(this.list.get(i).getName())){
			System.out.println(this.list.get(i));
			flag = false;
		}
	}
	if(flag){
		System.out.println("没有查到此人记录");
	}
	}
/**
	 * 按年龄查询记录
	 */
	public void searchByAge(){
		TelNoteRegex regex=new TelNoteRegex();
		String age=regex.ageValidate();
		boolean flag=true;
		for(int i=0;i<this.list.size();i++){
			if(age.equals(this.list.get(i).getAge())){
				System.out.println(this.list.get(i));
				flag = false;
			}
		}
		if(flag){
			System.out.println("没有查到此人记录");
		}	
		}
/**
	 * 按性别查询记录
	 */
	public void searchBySex(){
		TelNoteRegex regex=new TelNoteRegex();
		String sex=regex.sexValidate();
		boolean flag=true;
		if(sex.equalsIgnoreCase(this.list.get(i).getSex())){//查询时忽略大小写
				System.out.println(this.list.get(i));
				flag = false;
			}
		}
		if(flag){
			System.out.println("没有查到此人记录");
		}
		}
/**
	 * 按电话号码查询记录
	 */
	public void searchByTelNum(){
		TelNoteRegex regex=new TelNoteRegex();
		String telNum=regex.telNumValidate();
		boolean flag=true;
		for(int i=0;i<this.list.size();i++){
			if(telNum.equals(this.list.get(i).getTelNum())){
				System.out.println(this.list.get(i));
				flag = false;
			}
		}
		if(flag){
			System.out.println("没有查该号码的联系人记录");
		}
		}
	/**
	 * 按地址查询记录
	 */
	public void searchByAdd(){
		TelNoteRegex regex=new TelNoteRegex();
		String address=regex.addressValidate();
		boolean flag=true;
		for(int i=0;i<this.list.size();i++){
			if(address.equals(this.list.get(i).getAddress())){
				System.out.println(this.list.get(i));
				flag = false;
			}
		}
		if(flag){
			System.out.println("没有查到此人记录");
		}	
		}
/**
	 * 修改指定记录
	 */
	public void modifyOperation(){
		TelNoteRegex regex=new  TelNoteRegex();
		Menu menu=new Menu();
		//对修改的记录的序号进行验证,可以使用menuItemValidate(int min,int max)进行验证
		System.out.println("请输入要修改的联系人记录序号");
		int idNum=regex.menuItemValidate(1, this.list.size());
		menu.subModifyMenu();
		int menuNum=regex.menuItemValidate(1, 6);
		switch(menuNum){
		case 1:String name=regex.nameValidate();
				(this.list.get(idNum-1)).setName(name);
				break;
		case 2:String age=regex.ageValidate();
				(this.list.get(idNum-1)).setAge(age);
				break;
		case 3:String sex=regex.sexValidate();
				(this.list.get(idNum-1)).setSex(sex);
				break;
		case 4:String telNum=regex.telNumValidate();
				(this.list.get(idNum-1)).setTelNum(telNum);
				break;
		case 5:String address=regex.addressValidate();
				(this.list.get(idNum-1)).setAddress(address);
				break;
		case 6:return;
		}
		
	}
	/**
	 * 删除指定记录
	 */
	public void deleteOperation(){
		TelNoteRegex regex=new TelNoteRegex();
		System.out.println("请输入联系人记录序号");
		int idNum=regex.menuItemValidate(1, this.list.size());
		this.list.remove(idNum-1);
		//重新为记录设置新的序号
		for(int i=0;i<this.list.size();i++){
			(this.list.get(i)).setId(i+1);
		}
		System.out.println("删除成功!请继续操作");
	}
/**
	 * 删除全部记录
	 */
	public void deleteAllOperation(){
		this.list.clear();;
		System.out.println("电话本中的联系人记录已清空!请继续操作");	}
	
  1. 实现各个比较器和比较方法
	/**
	 * 排序器只能对在电话本中所存储的记录进行排序,不具备通用性,所以定义成Operate
的内部类
	 * @author TheMutents
	 *
	 */
	
	/**
	 * 按姓名排序比较器
	 * @author Lhk
	 *
	 */
	class OrderByName implements Comparator<Person>{

		@Override
		public int compare(Person o1, Person o2) {
			return o1.getName().compareTo(o2.getName());
		}
		
	}

	/**
	 * 按年龄排序比较器
	 */
	class OrderByAge implements Comparator<Person>{
		
		@Override
		public int compare(Person o1, Person o2) {
			
			return o1.getAge().compareTo(o2.getAge());
		}
		
	}
	
	/**
	 * 按性别排序比较器
	 */
	class OrderBySex implements Comparator<Person>{

		@Override
		public int compare(Person o1, Person o2) {
			return o1.getSex().compareTo(o2.getSex());
		}
	}
}
/**
	 * 按用户姓名排序记录
	 */
	public void orderName(){
	Collections.sort(list, new OrderByName());
	//重新设置记录序号
	for(int i=0;i<list.size();i++){
		(this.list.get(i)).setId(i+1);
	}
	}
	
	/**
	 * 按用户年龄排序记录
	 */
	public void orderAge(){
		Collections.sort(list, new OrderByAge());
		//重新设置记录序号
		for(int i=0;i<list.size();i++){
			(this.list.get(i)).setId(i+1);
		}	
		}
	
	/**
	 * 按用户性别排序记录
	 */
	public void orderSex(){
		Collections.sort(list, new OrderBySex());
		//重新设置记录序号
		for(int i=0;i<list.size();i++){
			(this.list.get(i)).setId(i+1);
		}	
		}

六、导出项目

  1. 导出电话本项目的jar包
    具体操作过程可参考:eclipse导出jar包方法(详细说明)
    在这里插入图片描述

  2. 创建启动项目的批处理文件

    文本文件输入java -jar phoneBook.jar,将txt后缀改为bat
    在这里插入图片描述
    在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

The Mutents

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值