package Tel;//tel包
import java.util.Scanner;//导入输入类
//主方法程序入口
public class telList {
static Scanner in = new Scanner(System.in);//输入包创建输入对象in
public static void main(String args[]){
mean M = new mean();//菜单类创建菜单对象
SQL S = new SQL();
M.means();//M调用菜单界面方法
while(true){
System.out.println("请输入选项");
int M_a = in.nextInt();
switch(M_a){
case 1:
//键盘输入1添加
S.insert();
break;
case 2:
//键盘输入2修改
S.update();
break;
case 3:
//键盘输入3删除
S.drop();
break;
case 4:
//键盘输入4查询
S.select();
break;
case 5:
//键盘输入5退出
System.exit(0);
break;
case 6://测试用
//test
S.sqltest();
default:
break;
}
}
}
}
class mean{//先创建菜单类
public void means(){
System.out.println("----------------------------------");
System.out.println("| *手机通讯录* |");
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("----------------------------一组---");
}
}
//Tel类的属性 id name sex tel qq loc
class Tel{
private int id;
private String name;
private String sex;
private int tel;
private int qq;
private String loc;
//Tel方法
public Tel(int id, String name, String sex, int tel, int qq, String loc){
this.id = id;
this.name = name;
this.sex = sex;
this.tel = tel;
this.qq = qq;
this.loc = loc;
}
//set和get方法
public void setId(int id){
this.id = id;
}
public int getId(){
return id;
}
public void setMame(String name){
this.name = name;
}
public String getName() {
return name;
}
public void setSex(String sex){
this.sex = sex;
}
public String getSex() {
return sex;
}
public void setTel(int tel) {
this.tel = tel;
}
public int getTel() {
return tel;
}
public void setQq(int qq) {
this.qq = qq;
}
public int getQq() {
return qq;
}
public void setLoc(String loc) {
this.loc = loc;
}
public String getLoc() {
return loc;
}
//toString封装返回某一条通讯录
public String rtsql(){
return "ID"+id+"姓名"+name+"性别"+sex+"电话"+tel+"QQ"+qq+"地址"+loc;
}
}
//增删查改功能类
class SQL{
Tel[] sql = new Tel[20];//实例化组
int count = 0;//定义主键
public SQL(){//sql组
Tel sql1 = new Tel (37,"房房","男",100,751,"南通");
sql[0] = sql1;
count = 0;//联系人初始化同下面把之前默认的信息擦除
}
//添加方法
public void insert(){
//判断是否继续
String d;
do{
System.out.println("请输入你的ID");
int id = telList.in.nextInt();
System.out.println("请输入你的姓名");
String name = telList.in.next();
System.out.println("请输入你的性别");
String sex = telList.in.next();
System.out.println("请输入你的电话");
int tel = telList.in.nextInt();
System.out.println("请输入你的QQ");
int qq = telList.in.nextInt();
System.out.println("请输入你的地址");
String loc = telList.in.next();
Tel telphone = new Tel(id,name,sex,tel,qq,loc);
//测试输入的数据System.out.println(telphone);
sql[count] = telphone;//新增变量放在上一个的下面所以
count++;//添加一次count加一次
System.out.println("是否继续添加 y 是 n否");
d=telList.in.next();
}while(d.equals("y"));
}
//删除方法
public void drop(){
System.out.println("请输入你要删除通讯录的姓名");
String name = telList.in.next();//用户输入下面存入name用于判断
int boolue = findSql(name);//boolue和查找的返回值判断等于-1
if (boolue == -1)
System.out.println("没有这个数据");
else{
System.out.print("确定删除嘛?y是 n否");
String choice = telList.in.next();
if (choice.equals("y"))
{
dp(sql,boolue);
System.out.println("***已经删除***");
}
}
}
public void dp(Tel[] sql, int i) {
/**
* a[] 0~5 count=6 从0开始计数,删除2个,删除a[2],i=2 a[2],a[3],a[4],共5个数 a[5]=null
* count--,count=5
*/
for (int j = i; j < count - 1; j++) {
sql[j] =sql[j + 1];
}
sql[count - 1] = null;
count--;
}
//修改方法
public void update() {
System.out.print("请输入要修改的联系人姓名:");
Scanner sc = new Scanner(System.in);
String name = sc.next();
int index = findSql(name);
if (index == -1) {
System.out.println("联系人不存在");
} else {
System.out.print("确定修改嘛?y是 n否");
String choice = telList.in.next();
if (choice.equals("y")){
System.out.println("请修改你的ID");
int id = telList.in.nextInt();
System.out.println("请修改你的姓名");
String name1 = telList.in.next();
System.out.println("请修改你的性别");
String sex = telList.in.next();
System.out.println("请修改你的电话");
int tel = telList.in.nextInt();
System.out.println("请修改你的QQ");
int qq = telList.in.nextInt();
System.out.println("请输入你的地址");
String loc = telList.in.next();
Tel telphone = new Tel(id,name1,sex,tel,qq,loc);
sql[index] = telphone;
}
}
}
//查询方法
public void select(){
System.out.println("请输入你要查询通讯录的姓名");
String name = telList.in.next();
int a = findSql(name);
if(a == -1)
System.out.println("没有该用户的数据");
}
//判断name的方法 删除 修改 查询 都用到
public int findSql(String name){
for(int i = 0; i< count ; i++){
if (sql[i].getName().equals(name)){
System.out.println("已经找到"+sql[i].rtsql());
return i;
}
}
return -1;
}
//测试方法
public void sqltest(){
for (int i = 0; i < count; i++) {
System.out.println(sql[i].rtsql());
}
}
}