JAVA面向对象基础案例(JavaBean)面向对象综合案例-模仿电影信息系统

需求:
展示系统中的全部电影(每部电影展示:名称、评分)。
允许用户根据电影编号(id)查询出某个电影的详细信息。

1.首先创建JavaBean类Movie方法

package com.gideon.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 starring) {
        this.id = id;
        this.title = title;
        this.time = time;
        this.score = score;
        this.area = area;
        this.type = type;
        this.director = director;
        this.starring = starring;
    }

    public int getId() {
        return id;
    }

    public void setId(int id) {
        this.id = id;
    }

    public String getTitle() {
        return title;
    }

    public void setTitle(String title) {
        this.title = title;
    }

    public String getTime() {
        return time;
    }

    public void setTime(String time) {
        this.time = time;
    }

    public double getScore() {
        return score;
    }

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

    public String getArea() {
        return area;
    }

    public void setArea(String area) {
        this.area = area;
    }

    public String getType() {
        return type;
    }

    public void setType(String type) {
        this.type = type;
    }

    public String getDirector() {
        return director;
    }

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

    public String getStarring() {
        return starring;
    }

    public void setStarring(String starring) {
        this.starring = starring;
    }
}

2.创建MovieSeries服务类进行方法实现

package com.gideon.test;

import com.gideon.domain.Movie;

import java.util.Scanner;

public class MovieSeries {

    Scanner scanner = new Scanner(System.in);
    private Movie[] movies;

    public MovieSeries(Movie[] movies) {
        this.movies=movies;//将Test对象中的数据传入 this.movies 当前数组中进行使用
    }


    /**
     * 启动电影信息管理系统
     */
    public void start(){
        lo:
        while (true){
            System.out.println("----------电影信息系统----------");
            System.out.println("请输入您的选择:");
            System.out.println("1. 查询全部电影信息");
            System.out.println("2. 根据id查询电影信息");
            System.out.println("3. 退出");

            int choice = scanner.nextInt();

            switch (choice){
                case 1:{
                    queryMovieInfos();
                }
                case 2:{
                    queryMovieInfoById();
                }
                case 3:{
                    System.out.println("感谢您的使用, 再见!");
                    break lo;
                }
                case 4:{
                    System.out.println("您的输入有误, 请检查");
                    break;
                }
            }

        }
    }

    private void queryMovieInfoById() {
        //1.键盘录入用户输入的编号
        System.out.println("请输入您要查询的电影编号");
        int id = scanner.nextInt();
        //2.遍历数组,从数组中查询电影信息
        for(int i=0;i<movies.length;i++){
            Movie movie = movies[i];//重新创建一个叫movie的Movie类型的变量进行比对
            if(movies[i].getId()==id){//如果Test对象里面的ID等于用户输入的ID则继续
                //3.将找到的电影信息,打印在控制台
                //getXxx()得到Test对象里面的数据
                System.out.println(movie.getId() + "---" + movie.getTitle() + "---" + movie.getTime()
                        + "---" + movie.getScore() + "---" + movie.getArea() + "---"
                        + movie.getType() + "---" + movie.getDirector() + "---" + movie.getStarring());
                return;
            }
        }
        // 代码要是走到这里, 说明没找到
        System.out.println("您输入的编号不存在, 请检查!");
    }

    private void queryMovieInfos() {
        //1.遍历数组,取出每一个电影对象
        for(int i=0;i<movies.length;i++){
            // 2. 通过电影对象, 调用内部getXxx方法, 获取信息并打印
            System.out.println(movies[i].getTitle() + "---" + movies[i].getScore());

        }

    }
}

3.编写测试类MovieTest类

package com.gideon.test;

import com.gideon.domain.Movie;

public class MovieTest {
    public static void main(String[] args) {
        Movie movie = new Movie();

        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};//将对象放入数组,形成对象数组

        // 该如何将一个类中的数据, 传递给另外一个类
        MovieSeries movieSeries = new MovieSeries(movies);
        movieSeries.start();
    }

}

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

吉迪恩

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值