J010_面向对象基础案例-模仿电影信息系统

一、需求描述

1、展示系统中的全部电影(每部电影展示:名称、价格)。

2、允许用户根据电影编号(id)查询出每个电影的详细信息。

二、开发设计

1、需要一个电影实体类

2、设计一个电影操作类用来实现业务需求

3、测试程序

三、代码实现

3.1 Moive.java

package com.itheima.demo;

public class Moive {
    //电影ID
    private int id;

    //电影名称
    private String name;

    //电影价格
    private double price;

    //电影评分
    private String score;

    //电影导演
    private String director;

    //电影主演
    private String actor;

    //其他信息
    private String info;

    //无参构造器
    public Moive() {
    }

    //有参数构造器
    public Moive(int id, String name, double price, String score, String director, String actor, String info) {
        this.id = id;
        this.name = name;
        this.price = price;
        this.score = score;
        this.director = director;
        this.actor = actor;
        this.info = info;
    }

    //提供get/set方法
    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 double getPrice() {
        return price;
    }

    public void setPrice(double price) {
        this.price = price;
    }

    public String getScore() {
        return score;
    }

    public void setScore(String score) {
        this.score = score;
    }

    public String getDirector() {
        return director;
    }

    public void setDirector(String director) {
        this.director = director;
    }

    public String getActor() {
        return actor;
    }

    public void setActor(String actor) {
        this.actor = actor;
    }

    public String getInfo() {
        return info;
    }

    public void setInfo(String info) {
        this.info = info;
    }
}

3.2 MoiveOperator.java

package com.itheima.demo;

public class MovieOperator {
    private Moive[] moives;

    public MovieOperator(Moive[] moives) {
        this.moives = moives;
    }

    //展示系统全部电影信息
    public void printAllMovies(){
        for (int i = 0; i < moives.length; i++) {
            System.out.println("第" + (i+1) + "部电影信息如下:");
            System.out.println("ID:" + moives[i].getId());
            System.out.println("电影名称:" + moives[i].getName());
            System.out.println("电影评分:" + moives[i].getScore());
            System.out.println("--------------------------");
        }
    }

    //根据ID检索电影信息
    public void getMovieById(int id){
        for (int i = 0; i < moives.length; i++) {
            if (moives[i].getId() == id){
                System.out.println("您要搜索的电影信息如下:");
                System.out.println("电影ID:" + moives[i].getId());
                System.out.println("电影名称:" + moives[i].getName());
                System.out.println("电影价格:" + moives[i].getPrice());
                System.out.println("电影评分:" + moives[i].getScore());
                System.out.println("电影导演:" + moives[i].getDirector());
                System.out.println("电影主演:" + moives[i].getActor());
                System.out.println("其他信息:" + moives[i].getInfo());
                return;
            }
        }
        System.out.println("您要搜索的电影不存在!");
    }
}

3.3 Test.java

package com.itheima.demo;

import java.util.Scanner;

public class Test {
    public static void main(String[] args) {
        //创建一个存储电影的数组
        Moive[] moives = new Moive[4];

        //为每部电影创建实例对象
        moives[0] = new Moive(1,"热辣滚烫",49.9,"4.9","李平","贾玲、张小斐","电影不错!!");
        moives[1] = new Moive(2,"飞驰人生2",39.9,"4.8","李平2","沈腾、范丞丞","嘿嘿!!");
        moives[2] = new Moive(3,"第二十条",50,"4.6","李平3","赵丽颖","哈哈哈!!");
        moives[3] = new Moive(4,"一闪一闪亮晶晶",59.9,"4.5","李平4","张万森","嘻嘻!!");

        //创建一个电影操作实例
        MovieOperator mo = new MovieOperator(moives);
        //mo.printAllMovies();
        //mo.getMovieById(3);

        Scanner sc = new Scanner(System.in);

        while (true) {
            //模拟电影信息系统
            System.out.println("****电影信息系统****");
            System.out.println("1:查询全部电影信息");
            System.out.println("2:根据ID搜索电影详细信息");

            int command = sc.nextInt();

            switch (command){
                case 1:
                    mo.printAllMovies();
                    break;
                case 2:
                    System.out.println("请输入你想搜索的电影ID:");
                    int id = sc.nextInt();
                    mo.getMovieById(id);
                    break;
                default:
                    System.out.println("您输入的命令有问题,请重新输入");
            }
        }
    }

}

3.4 运行结果

  • 11
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,以下是一个简单的 Java 程序,实现了上述要求: Employee.java ```java public class Employee { private String name; private String id; private String gender; private String birthDate; private String address; public Employee(String name, String id, String gender, String birthDate, String address) { this.name = name; this.id = id; this.gender = gender; this.birthDate = birthDate; this.address = address; } public String getName() { return name; } public String getId() { return id; } public String getGender() { return gender; } public String getBirthDate() { return birthDate; } public String getAddress() { return address; } @Override public String toString() { return "Name: " + name + ", ID: " + id + ", Gender: " + gender + ", Birth Date: " + birthDate + ", Address: " + address; } } ``` EmployeeManagementSystem.java ```java import java.io.*; import java.util.ArrayList; import java.util.List; import java.util.Scanner; public class EmployeeManagementSystem { private List<Employee> employeeList = new ArrayList<>(); private Scanner scanner = new Scanner(System.in); private File file = new File("employee.txt"); public static void main(String[] args) { EmployeeManagementSystem ems = new EmployeeManagementSystem(); ems.run(); } private void run() { loadEmployeesFromFile(); while (true) { System.out.println("Please select an option:"); System.out.println("1. Add employee"); System.out.println("2. View employee by name"); System.out.println("3. View employee by ID"); System.out.println("4. Update employee"); System.out.println("5. Remove employee"); System.out.println("6. Quit"); int option = scanner.nextInt(); scanner.nextLine(); switch (option) { case 1: addEmployee(); break; case 2: searchEmployeeByName(); break; case 3: searchEmployeeById(); break; case 4: updateEmployee(); break; case 5: removeEmployee(); break; case 6: saveEmployeesToFile(); System.out.println("Bye!"); return; default: System.out.println("Invalid option, please try again."); } } } private void addEmployee() { System.out.println("Please enter the employee's name:"); String name = scanner.nextLine(); System.out.println("Please enter the employee's ID:"); String id = scanner.nextLine(); System.out.println("Please enter the employee's gender:"); String gender = scanner.nextLine(); System.out.println("Please enter the employee's birth date:"); String birthDate = scanner.nextLine(); System.out.println("Please enter the employee's address:"); String address = scanner.nextLine(); Employee employee = new Employee(name, id, gender, birthDate, address); employeeList.add(employee); System.out.println("Employee added successfully."); } private void searchEmployeeByName() { System.out.println("Please enter the employee's name:"); String name = scanner.nextLine(); for (Employee employee : employeeList) { if (employee.getName().equals(name)) { System.out.println(employee); return; } } System.out.println("Employee not found."); } private void searchEmployeeById() { System.out.println("Please enter the employee's ID:"); String id = scanner.nextLine(); for (Employee employee : employeeList) { if (employee.getId().equals(id)) { System.out.println(employee); return; } } System.out.println("Employee not found."); } private void updateEmployee() { System.out.println("Please enter the employee's ID:"); String id = scanner.nextLine(); for (Employee employee : employeeList) { if (employee.getId().equals(id)) { System.out.println("Please enter the employee's name:"); employee.name = scanner.nextLine(); System.out.println("Please enter the employee's ID:"); employee.id = scanner.nextLine(); System.out.println("Please enter the employee's gender:"); employee.gender = scanner.nextLine(); System.out.println("Please enter the employee's birth date:"); employee.birthDate = scanner.nextLine(); System.out.println("Please enter the employee's address:"); employee.address = scanner.nextLine(); System.out.println("Employee updated successfully."); return; } } System.out.println("Employee not found."); } private void removeEmployee() { System.out.println("Please enter the employee's ID:"); String id = scanner.nextLine(); for (Employee employee : employeeList) { if (employee.getId().equals(id)) { employeeList.remove(employee); System.out.println("Employee removed successfully."); return; } } System.out.println("Employee not found."); } private void loadEmployeesFromFile() { try (Scanner fileScanner = new Scanner(file)) { while (fileScanner.hasNextLine()) { String[] employeeData = fileScanner.nextLine().split(","); Employee employee = new Employee( employeeData[0], employeeData[1], employeeData[2], employeeData[3], employeeData[4] ); employeeList.add(employee); } System.out.println("Employees loaded successfully."); } catch (FileNotFoundException e) { System.out.println("File not found: " + file.getAbsolutePath()); } } private void saveEmployeesToFile() { try (PrintWriter writer = new PrintWriter(file)) { for (Employee employee : employeeList) { writer.println( employee.getName() + "," + employee.getId() + "," + employee.getGender() + "," + employee.getBirthDate() + "," + employee.getAddress() ); } System.out.println("Employees saved successfully."); } catch (FileNotFoundException e) { System.out.println("File not found: " + file.getAbsolutePath()); } } } ``` 该程序使用了一个 Employee 类来表示员工,包含了姓名、工号、性别、出生年月、家庭地址等属性。然后实现了一个 EmployeeManagementSystem 类,用于管理员工信息。主要包括添加员工、查找员工、修改员工、删除员工等功能,并且能将员工信息保存到文件中。 你可以在文件中输入以下内容来进行测试: ``` Alice,A001,Female,1990-01-01,123 Main St Bob,B002,Male,1995-06-15,456 Second St Charlie,C003,Male,1985-09-30,789 Third St David,D004,Male,1998-12-25,123 Fourth St Eve,E005,Female,1992-03-10,456 Fifth St Frank,F006,Male,1991-07-01,789 Sixth St Grace,G007,Female,1989-10-20,123 Seventh St Harry,H008,Male,1987-05-05,456 Eighth St Ivy,I009,Female,1994-08-31,789 Ninth St John,J010,Male,1986-04-16,123 Tenth St ``` 希望这个程序能够帮助你完成员工信息管理系统的开发。如果你有任何问题或需要更多的帮助,请随时与我联系。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值