Java: 实现电影信息管理系统 (javaBean)

news2024/12/24 4:19:55

文章目录

    • 电影信息系统
          • 1. 将JavaBean数据类封装好
          • 2.业务逻辑类
          • 3.测试类(main函数类)

电影信息系统

在这里插入图片描述

需求:

  1. 展示系统中的全部电影(每部电影展示、名称、平分)。
  2. 允许用户根据电影编号(id)查询出某个电影的详细信息。
1. 将JavaBean数据类封装好
package com.liujintao.domain;

/**
 * JavaBean
 */
public class Movie {
    private int id;
    private String title;
    private String time;
    private double score;
    private String area;
    private String type;
    private String director;
    private String starring;


    public Movie() {
    }

    public Movie(int id, String title, String time, double score, String area, String type, String director, String statting) {
        this.id = id;
        this.title = title;
        this.time = time;
        this.score = score;
        this.area = area;
        this.type = type;
        this.director = director;
        this.starring = statting;
    }

    /**
     * 获取
     * @return id
     */
    public int getId() {
        return id;
    }

    /**
     * 设置
     * @param id
     */
    public void setIdl(int id) {
        this.id = id;
    }

    /**
     * 获取
     * @return title
     */
    public String getTitle() {
        return title;
    }

    /**
     * 设置
     * @param title
     */
    public void setTitle(String title) {
        this.title = title;
    }

    /**
     * 获取
     * @return time
     */
    public String getTime() {
        return time;
    }

    /**
     * 设置
     * @param time
     */
    public void setTime(String time) {
        this.time = time;
    }

    /**
     * 获取
     * @return score
     */
    public double getScore() {
        return score;
    }

    /**
     * 设置
     * @param score
     */
    public void setScore(double score) {
        this.score = score;
    }

    /**
     * 获取
     * @return area
     */
    public String getArea() {
        return area;
    }

    /**
     * 设置
     * @param area
     */
    public void setArea(String area) {
        this.area = area;
    }

    /**
     * 获取
     * @return type
     */
    public String getType() {
        return type;
    }

    /**
     * 设置
     * @param type
     */
    public void setType(String type) {
        this.type = type;
    }

    /**
     * 获取
     * @return director
     */
    public String getDirector() {
        return director;
    }

    /**
     * 设置
     * @param director
     */
    public void setDirector(String director) {
        this.director = director;
    }

    /**
     * 获取
     * @return statting
     */
    public String getStarring() {
        return starring;
    }

    /**
     * 设置
     * @param starring
     */
    public void setStarring(String starring) {
        this.starring = starring;
    }

}

2.业务逻辑类
package com.liujintao.test;

import com.liujintao.domain.Movie;

import java.util.Scanner;

public class MovieService {
    // 提升为成员变量,并合理隐藏
    private Movie[] movies;
    private Scanner sc;
    /**
     * 带参构造器:获取JavaBean中数据
     *
     */
    public MovieService(Movie[] movies) {
        this.movies = movies;
    }

    /**
     * 启动电影信息管理系统
     */
    public void start() {

        this.sc = new Scanner(System.in);
        lo:
        while(true) {
            System.out.println("----------电影信息系统----------");
            System.out.println("请输入您的选择");
            System.out.println("1.查询全部电影信息");
            System.out.println("2.根据id查询电影信息");
            System.out.println("3.退出");

            int choice = sc.nextInt();

            switch(choice) {
                case 1:
                    queryMoviesInfo();
                    break;
                case 2:
                    queryMoviesById();
                    break;
                case 3:
                    System.out.println("退出");
                    break lo;
                default:
                    System.out.println("您的输入有误!");
                    break;
            }
        }
    }


    /**
     * 通过编号:展示电影所有信息
     */
    private void queryMoviesById() {
        System.out.println("请输入电影的id号:");
        int id = sc.nextInt();

        for (int i = 0; i < movies.length; i++) {
            if (movies[i].getId() == id) {
                System.out.println("编号:" + movies[i].getId() + "-电影名:-" + movies[i].getTitle() + "-上映时间:-" + movies[i].getTime() + "-评分:-" + movies[i].getScore() + "-地区-" + movies[i].getArea() + "-电影类型-" + movies[i].getType() + "-导演-" + movies[i].getDirector() + "-主演-" + movies[i].getStarring());
                return;
            }
        }
        // 没找到!
        System.out.println("您输入的编号不存在!");
    }

    /**
     * 展示电影系统中全部的电影(名称、评分)
     */
    private void queryMoviesInfo() {
        for (int i = 0; i < movies.length; i++) {
            Movie movie = movies[i];
            System.out.println("电影名:" + movie.getTitle() + "---评分:" + movie.getScore());
        }
    }
}

3.测试类(main函数类)
package com.liujintao.test;

import com.liujintao.domain.Movie;

public class MovieTest {
    public static void main(String[] args) {
        // 构造器初始数据
        Movie movie1 = new Movie(1, "东八区的先生们", "2022", 2.1, "中国大陆", "剧情 喜剧", "夏睿", "张翰 王晓晨");
        Movie movie2 = new Movie(2, "上海堡垒", "2019", 2.9, "中国大陆", "爱情 战争 科幻", "滕华涛", "鹿晗 舒淇");
        Movie movie3 = new Movie(3, "纯洁心灵·逐梦演艺圈", "2015", 2.2, "中国大陆", "剧情 喜剧", "毕志飞", "朱一文 李彦漫");
        // 将数据存到数组中
        Movie[] movies = {movie1, movie2, movie3};

        MovieService movieservice = new MovieService(movies);
        movieservice.start();

    }
}


运行结果展示:

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1202056.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

火山引擎 DataLeap 计算治理自动化解决方案实践和思考

更多技术交流、求职机会&#xff0c;欢迎关注字节跳动数据平台微信公众号&#xff0c;回复【1】进入官方交流群 【导读】本文旨在探讨火山引擎 DataLeap 在处理计算治理过程中所面临的问题及其解决方案&#xff0c;并展示这些解决方案带来的实际收益。主要内容包括&#xff1a;…

使用 Electron 来替代本地调试线上代理的场景

Cookie Samesite 问题 https://developers.google.com/search/blog/2020/01/get-ready-for-new-samesitenone-secure?hlzh-cnhttps://www.chromium.org/updates/same-site/https://github.com/GoogleChromeLabs/samesite-exampleshttps://releases.electronjs.org/releases/s…

Labview实现wav音乐播放

准备音频文件&#xff1a;将要播放的声音文件准备好&#xff0c;是.wav格式。 图形化如下&#xff1a; 内部逻辑如下&#xff1a;

名师助阵龙讯旷腾PWmat+半导体缺陷培训暨半导体缺陷计算大赛

半导体缺陷计算大赛 选拔赛截止日期&#xff1a;11月23日 参与杭州线下培训直接跳过选拔赛 大赛亮点 线上免费培训、线下限时领取免费名额 线下杭州培训可直通决赛&#xff0c;跳过选拔赛 线上培训有3次机会参与考试进入决赛 已购/未购用户均可参加、无身份限定 使用Mc…

新程出海:TikTok电商带货的6大注意事项

当下&#xff0c;越来越多的商家借助海外抖音TikTok平台实现电商带货。但是&#xff0c;由于海外市场和文化环境的不同&#xff0c;如果没有正确的操作方法和注意事项&#xff0c;会存在诸多问题和挑战。因此&#xff0c;接下来新程出海为您介绍海外抖音TikTok电商带货的注意事…

大数据-之LibrA数据库系统告警处理(ALM-12041 关键文件权限异常)

告警解释 系统每隔一个小时检查一次系统中关键目录或者文件权限、用户、用户组是否正常&#xff0c;如果不正常&#xff0c;则上报故障告警。 当检查到权限等均正常&#xff0c;则告警恢复。 告警属性 告警ID 告警级别 可自动清除 12041 严重 是 告警参数 参数名称 …

mysql 中with的用法(1)

mysql 中with的用法 1、案例一&#xff1a; 建表&#xff1a; CREATE TABLE employees (employee_id INT PRIMARY KEY,first_name VARCHAR(50),last_name VARCHAR(50),salary INT );INSERT INTO employees (employee_id, first_name, last_name, salary) VALUES (1, John, Do…

Springboot+vue的人力资源管理系统(有报告)。Javaee项目,springboot vue前后端分离项目

演示视频&#xff1a; Springbootvue的人力资源管理系统&#xff08;有报告&#xff09;。Javaee项目&#xff0c;springboot vue前后端分离项目 项目介绍&#xff1a; 本文设计了一个基于Springbootvue的前后端分离的企业资产管理系统&#xff0c;采用M&#xff08;model&…

Kotlin Multiplatform稳定版本发布:加速跨平台开发的新里程碑

Kotlin Multiplatform稳定版本发布&#xff1a;加速跨平台开发的新里程碑 引言 在最新的消息中&#xff0c;JetBrains团队宣布Kotlin Multiplatform&#xff08;KMP&#xff09;将于2023年10月稳定发布。这一消息对于广大开发者来说毫无疑问是一个令人振奋的消息。KMP的正式生…

【Java】集合(一)单列集合List

1.集合 可以动态保存任意多个对象&#xff0c;并提供了一系列的操作对象的方法&#xff1a;add、remove、set、get等。 2.集合框架体系 分为两大类&#xff1a; 单列集合和双列集合 3.List接口基本介绍 List接口是Collection接口的子接口 List集合类中元素有序&#xff0…

2024京津冀人工智能展会(世亚智博会)展现“中国智造”高端技术

2024京津冀人工智能展会&#xff08;简称:世亚智博会&#xff09;已正式定档2024年6月28-30日&#xff0c;将启用北京亦创会展中心的一层全部展厅&#xff0c;预计展出面积达6万平方米&#xff0c;吸纳全球超过800家展商&#xff0c;展现“中国智造”的尖端理念与高端技术&…

制作企业期刊的网站,小白也能做出超吸睛的期刊

制作企业期刊的网站&#xff0c;对于许多企业来说&#xff0c;是一项既重要又具有挑战性的任务。然而&#xff0c;如果你是一位初学者或者是一位小白&#xff0c;也不用过于担心。按照小编说的步骤去做&#xff0c;你也能制作出吸引人的电子期刊 首先&#xff0c;你需要选择一个…

操作系统(三)进程和线程的基础知识

文章目录 前言进程和线程进程进程的状态进程控制块(PCB&#xff0c;Process Control Block)进程的上下文切换 线程线程的实现 进程加载进程等待和退出等待退出 优先级控制进程调试支持定时 小结 前言 本文主要涉及操作系统的简介、硬件结构、内存管理、进程管理、文件系统、设…

【Proteus仿真】【STM32单片机】停车场车位管理系统

文章目录 一、功能简介二、软件设计三、实验现象联系作者 一、功能简介 本项目使用Proteus8仿真STM32单片机控制器&#xff0c;使用按键、LED、蜂鸣器、LCD1602、红外传感器、74HC595模块等。 主要功能&#xff1a; 系统运行后&#xff0c;LCD1602显示进入、驶出、剩余车位数…

什么是光电耦合器?如何选择型号及种类

光电耦合器(英文缩写为OC)亦称光电隔离器&#xff0c;简称光耦&#xff1b;以光为媒介传输电信号&#xff1b;它对输入、输出电信号有良好的隔离作用&#xff0c;是目前种类最多、用途最广的光电器件之一&#xff1b;所以&#xff0c;它在各种电路中得到广泛的应用。 光耦合器…

使用 `open-uri.with_proxy` 方法打开网页

Ruby 爬虫程序如下&#xff1a; require open-uri require nokogiri# 定义代理信息 proxy_host jshk.com.cn# 定义要爬取的网页 URL url http://www.example.com# 使用代理信息打开网页 open-uri.with_proxy(proxy_host, proxy_port) do |proxy|# 使用 Nokogiri 库解析网页内…

uniapp h5发行

前端使用uniapp开发项目完成后&#xff0c;需要将页面打包&#xff0c;生成H5的静态文件&#xff0c;部署在服务器上。 这样通过服务器链接地址&#xff0c;直接可以在手机上点开来访问。 打包全步骤如下&#xff1a; 首先在manifest.json文件中进行基础配置&#xff0c;获取…

Windows电脑训练 RT-DETR 改进算法 (Ultralytics) 教程,改进RTDETR算法(包括使用训练、验证、推理教程)

手把手从零开始训练 RT-DETR 改进项目 (Ultralytics版本) 教程,改进RTDETR算法 本文以Windows服务器为例:从零开始使用Windows训练 RT-DETR 算法项目 《芒果剑指 RT-DETR 目标检测算法 改进》 适用于芒果专栏改进RT-DETR算法 文章目录 百度 RT-DETR 算法介绍改进网络代码汇…

【ATTCK】MITRE Caldera-插件

CALDERA是一个由python语言编写的红蓝对抗工具&#xff08;攻击模拟工具&#xff09;。它是MITRE公司发起的一个研究项目&#xff0c;该工具的攻击流程是建立在ATT&CK攻击行为模型和知识库之上的&#xff0c;能够较真实地APT攻击行为模式。 通过CALDERA工具&#xff0c;安全…

测量均值频率、功率、带宽

测量均值频率、功率、带宽 生成以 1024 kHz 采样的啁啾信号的 1024 个采样点。啁啾信号的初始频率为 50 kHz&#xff0c;采样结束时达到 100 kHz。添加高斯白噪声&#xff0c;使信噪比为 40 dB。 nSamp 1024; Fs 1024e3; SNR 40;t (0:nSamp-1)/Fs;x chirp(t,50e3,nSamp/…