2020年实训之java基础
2019年底来到济宁惠与软件实训基地,
参加大四实训,初期学习java基础知识。
java基础
电话本管理系统(数组版)
1.主界面:
2.删除
2.1信息不存在
2.2信息存在
再次选择4,查询所有,张三的信息已删除
3.修改
3.1信息不存在
3.2信息存在
4.查询所有
5.根据姓名查找
5.1信息不存在
5.2信息存在
0.退出系统
此系统包含三个类:
主页面类是PhoneBookMain,负责选择用户所需的功能
多个联系人类是ManageSystem,负责管理多个联系人
单个联系人类是ContactPerson,负责管理一个联系人的属性及其方法
//PhoneBookMain
package com.morning;
import java.util.Scanner;
/**
* 主界面类(主界面)
* 业务选择:
* 1.添加
* 2.删除
* 3.修改
* 4.查询所有
* 5.根据姓名查询
* 0.退出
*
*/
public class PhoneBookMain {
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner scanner = new Scanner(System.in);
ManageSystem manageSystem = new ManageSystem(true);
while(true) {
System.out.println("***************Ming's Phonebook*************************");
System.out.println("1.Add 2.Delete 3.Update "
+ "4.Select All People 5.Select By Name 0.Exit");
System.out.println("***************Please choose the function***************");
int functionNum = scanner.nextInt();
switch(functionNum) {
case 1:
manageSystem.add();
break;
case 2:
manageSystem.delete();
break;
case 3:
manageSystem.update();
break;
case 4:
manageSystem.selectAllPerson();
break;
case 5:
manageSystem.selectByName();
break;
default:
manageSystem.exitSystem();
break;
}
//switch中的break退出的是switch
//再来一个break退出while循环
if(functionNum == 0) {
break;
}
}
}
}
//ManageSystem
package com.morning;
import java.util.Scanner;
/**
* 电话本管理系统类(多个人)
* 添加、删除、修改、查询所有、
* 根据姓名查询、退出
* 方法的实现
*/
public class ManageSystem {
// 添加一个联系人数组
// 使用全局变量方便每个方法中直接调用对象
ContactPerson[] list = new ContactPerson[100];
// 因为使用了构造方法已经初始化了两个联系人,因此num从2开始
int num = 2;
Scanner scanner = new Scanner(System.in);
// 此处使用构造方法初始化了两个联系人
public ManageSystem(boolean flag){
ContactPerson c1 = new ContactPerson("gouhao1", "mm", 24, "1", "1", "1");
list[0] = c1;
ContactPerson c2 = new ContactPerson("gouhao2", "mm", 24, "2", "2", "2");
list[1] = c2;
}
/**
* 添加联系人
*/
public void add() {
System.out.println("----------Add a contact person----------");
System.out.println("Please input his/her name:");
String name = scanner.next();
System.out.println("Please input his/her sex:");
String sex = scanner.next();
System.out.println("Please input his/her age:");
int age = scanner.nextInt();
System.out.println("Please input his/her phoneNum:");
String phoneNum = scanner.next();
System.out.println("Please input his/her qqNum");
String qqNum = scanner.next();
System.out.println("Please input his/her address");
String address = scanner.next();
// 构造方法初始化个人信息
ContactPerson contactPerson = new ContactPerson(name, sex, age,
phoneNum, qqNum, address);
// 把对象存入数组中
list[num] = contactPerson;
contactPerson.printInfo();
// 存完一个需要进行自增操作以便于存放下一个联系人
num++;
}
/**
* 删除联系人
*/
public void delete() {
System.out.println("----------Delete a contact person----------");
System.out.println("Please input the name you want to delete:");
String deleteName = scanner.next();
boolean flag = false;
for(int i = 0;i<num;i++) {
if(deleteName.equals(list[i].getName())) {
flag = true;
for(int j = i;j<num;j++) {
if(j == num-1) {
list[j] = null;
}else{
list[j] = list[j+1];
}
}
num--;
System.out.println("Delete successfully!");
}
}
if(flag == false) {
System.out.println("Cannot find this person!");
}
}
/**
* 修改联系人
*/
public void update() {
System.out.println("----------Update a contact person----------");
System.out.println("Please input the name you want to update:");
boolean flag = false;
String updataName = scanner.next();
for(int i = 0;i<num;i++) {
if(updataName.equals(list[i].getName())) {
flag = true;
System.out.println("Please input his/her name:");
String name = scanner.next();
System.out.println("Please input his/her sex:");
String sex = scanner.next();
System.out.println("Please input his/her age:");
int age = scanner.nextInt();
System.out.println("Please input his/her phoneNum:");
String phoneNum = scanner.next();
System.out.println("Please input his/her qqNum");
String qqNum = scanner.next();
System.out.println("Please input his/her address");
String address = scanner.next();
ContactPerson contactPerson = new ContactPerson(name, sex,
age, phoneNum, qqNum, address);
list[i] = contactPerson;
contactPerson.printInfo();
System.out.println("Update successfully!");
}
}
if(flag == false) {
System.out.println("Cannot find this person!");
}
}
/**
* 查询所有人的信息
*/
public void selectAllPerson() {
System.out.println("----------Print all people's information----------");
for(int i = 0;i<num;i++) {
list[i].printInfo();
}
}
/**
* 按姓名查询联系人信息
*/
public void selectByName() {
System.out.println("----------Select a person by his/her name----------");
boolean flag = false;
String name = scanner.next();
for(int i = 0;i<num;i++) {
if(name.equals(list[i].getName())) {
flag = true;
// list[i]为当前的ContactPerson类实例的对象
list[i].printInfo();
System.out.println("Select successfully!");
}
}
if(flag == false) {
System.out.println("Cannot find this person!");
}
}
/**
* 退出系统
*/
public void exitSystem() {
System.out.println("----------Exit system----------");
}
}
//ContactPerson
package com.morning;
/**
* 联系人类(一个人)
* 私有属性:姓名、性别、年龄、电话、QQ、地址
* 公有方法:个人信息打印
*/
public class ContactPerson {
private String name;
private String sex;
private int age;
private String phoneNum;
private String qqNum;
private String address;
// 构造方法
public ContactPerson(String name,String sex,int age,String phoneNum,
String qqNum,String address) {
this.name = name;
this.sex = sex;
this.age = age;
this.phoneNum = phoneNum;
this.qqNum = qqNum;
this.address = address;
}
// Shift+Alt+S快速创建get、set方法
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getSex() {
return sex;
}
public void setSex(String sex) {
this.sex = sex;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public String getPhoneNum() {
return phoneNum;
}
public void setPhoneNum(String phoneNum) {
this.phoneNum = phoneNum;
}
public String getQqNum() {
return qqNum;
}
public void setQqNum(String qqNum) {
this.qqNum = qqNum;
}
public String getAddress() {
return address;
}
public void setAddress(String address) {
this.address = address;
}
public void printInfo() {
System.out.println("联系人信息为:");
System.out.println("用户名:"+name+",性别:"+sex+",年龄:"+age+",电话号码:"+phoneNum+",QQ号码:"+qqNum+",地址:"+address);
System.out.println();
}
}