weixin_48473999 2020-06-19 23:14 采纳率: 0%
浏览 155

Java中怎么把结果保存到文件里,求帮助!!!(以下是一个增删改的电话本,我想把最终电话本里所有的信息保存到文件里)

import java.util.Scanner;

public class Z {

Scanner sc = new Scanner(System.in);

ConnectInfo[] connectInfos = new ConnectInfo[10];

public void Begin() {
    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(" 0.退出 ");
    System.out.println(" 请选择操作: ");
    String a = sc.next();

    switch (a) {
    case "1":
        add();
        break;
    case "2":
        delete();
        break;
    case "3":
        update();
        break;
    case "4":
        selectAll();
        break;
    case "5":
        selectByName();
        break;
    case "0":
        exit();
        break;
    default:
        System.out.println("输入指令错误!请重新输入!");
        Begin();
        break;
    }
}

public void add() {
    ConnectInfo b = new ConnectInfo();
    System.out.println("---------------添加电话本---------------");
    System.out.println("请输入相关信息:");
    System.out.print("姓名:");
    String name = sc.next();
    b.setName(name);
    System.out.print("性别:");
    String sex = sc.next();
    b.setSex(sex);
    System.out.print("年龄:");
    int age = sc.nextInt();
    b.setAge(age);
    System.out.print("电话:");
    String dianhua = sc.next();
    b.setPhoneNumber(dianhua);
    System.out.print("QQ:");
    String qq = sc.next();
    b.setQQ(qq);
    System.out.print("地址:");
    String dizhi = sc.next();
    b.setDizhi(dizhi);
    for (int i = 0; i < 10; i++) {
        if (connectInfos[i] == null) {
            connectInfos[i] = b;
            break;
        } else {
            continue;
        }
    }
    System.out.println("添加成功");
    System.out.println(b.toString());
    Begin();
}

public void delete() {
    System.out.println("---------------删除电话本---------------");
    System.out.println("请输入你要删除的电话本:");
    String s = sc.next();
    for (int i = 0; i < 10; i++) {
        if (connectInfos[i] != null) {
            if (connectInfos[i].getName().equals(s)) {
                System.out.println("你要删除的是:" + connectInfos[i].toString());
                System.out.println("你确定要删除吗?\n [Y]确定,[N]取消");
                String s2 = sc.next();
                if (s2.equals("Y")) {
                    connectInfos[i] = null;
                    System.out.println("删除成功!");
                    Begin();
                } else if (sc.next().equals("N")) {
                    Begin();
                } else {
                    System.out.println("输入指令不正确,请重新输入");
                    delete();
                }
            }
        }

        else {
            if (i != 9) {
                continue;
            } else {
                System.out.println("你输入的账号不存在!请重新输入!");
                delete();
            }
        }
    }
}

public void update() {
    System.out.println("---------------修改电话本---------------");
    System.out.println("请输入你要修改的电话本:");
    String s = sc.next();
    out: for (int i = 0; i < 10; i++) {
        if (connectInfos[i] != null) {
            if (connectInfos[i].getName().equals(s)) {
                System.out.println("你要修改的是:" + connectInfos[i].toString());
                System.out.println("请重新输入相关信息:");
                System.out.print("姓名:");
                String name = sc.next();
                connectInfos[i].setName(name);
                System.out.print("性别:");
                String sex = sc.next();
                connectInfos[i].setSex(sex);
                System.out.print("年龄:");
                int age = sc.nextInt();
                connectInfos[i].setAge(age);
                System.out.print("电话:");
                String dianhua = sc.next();
                connectInfos[i].setPhoneNumber(dianhua);
                System.out.print("QQ:");
                String qq = sc.next();
                connectInfos[i].setQQ(qq);
                System.out.print("地址:");
                String dizhi = sc.next();
                connectInfos[i].setDizhi(dizhi);
                System.out.print("修改成功!");
                System.out.println("修改后为:" + connectInfos[i].toString());
                Begin();
            } else {
                if (i != 9) {
                    continue out;
                } else {
                    System.out.println("你输入的账号不存在!请重新输入!");
                    update();
                }
            }

        }
    }
}

public void selectAll() {
    System.out.println("---------------所有电话信息---------------");
    for (int i = 0; i < 10; i++) {
        if (connectInfos[i] != null) {
            System.out.println(connectInfos[i].toString());
        }
    }
    Begin();
}

public void selectByName() {
    System.out.println("---------------根据名字查询---------------");
    System.out.println("请输入你要查找的名字:");
    String s = sc.next();
    out: for (int i = 0; i < 10; i++) {
        if (connectInfos[i] != null) {
            if (connectInfos[i].getName().equals(s)) {
                System.out.println("查询结果为:" + connectInfos[i].toString());
                Begin();
                break;
            } else {
                if (i != 9) {
                    continue out;
                } else {
                    System.out.println("您输入的账号不存在!请重新输入!");
                    selectByName();
                }
            }
        } 
    }
}

public void exit() {
    System.out.println("谢谢使用! \n");
    System.gc();
    Runtime.getRuntime().runFinalization();
}

public void finalize() {
    System.out.println("已回收资源,成功退出系统");
}

class ConnectInfo {
    private String name;
    private String sex;
    private int age;
    private String phoneNumber;
    private String QQ;
    private String address;

    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 getPhoneNumber() {
        return phoneNumber;
    }

    public void setPhoneNumber(String phoneNumber) {
        this.phoneNumber = phoneNumber;
    }

    public String getQQ() {
        return QQ;
    }

    public void setQQ(String qQ) {
        QQ = qQ;
    }

    public String getDizhi() {
        return address;
    }

    public void setDizhi(String dizhi) {
        this.address = address;
    }

    public String toString() {
        String s = "姓名:" + name + "性别:" + sex + "年龄:" + age + "电话:" + "QQ:" + QQ + "地址:" + address;
        return s;
    }
}

public static void main(String[] args) {

    Z phoneNumberTest = new Z();

    phoneNumberTest.Begin();

}

}

  • 写回答

3条回答 默认 最新

  • threenewbee 2020-06-19 23:45
    关注
    评论

报告相同问题?

悬赏问题

  • ¥15 关于#matlab#的问题:期望的系统闭环传递函数为G(s)=wn^2/s^2+2¢wn+wn^2阻尼系数¢=0.707,使系统具有较小的超调量
  • ¥15 FLUENT如何实现在堆积颗粒的上表面加载高斯热源
  • ¥30 截图中的mathematics程序转换成matlab
  • ¥15 动力学代码报错,维度不匹配
  • ¥15 Power query添加列问题
  • ¥50 Kubernetes&Fission&Eleasticsearch
  • ¥15 報錯:Person is not mapped,如何解決?
  • ¥15 c++头文件不能识别CDialog
  • ¥15 Excel发现不可读取的内容
  • ¥15 关于#stm32#的问题:CANOpen的PDO同步传输问题