实现思路

  • 添加实体类
    MMovie(电影)
    属性:Name(电影名称)
    Type(类型)
    Donny(人气)

  • 创建观影指南类
    MMovieManager(观影指南管理类)
    方法:初始化电影数据、添加 、显示全部、根据类别显示、显示人气最高的电影信息

在这里遇到一个坑,代码中用到了多个Scanner流,当你执行完输入任务后关闭任意一个,再次执行到输入语句的时候会出现一个NoSuchElementException异常。这是因为你的Scanner.close会调用System.in.close方法,System.in关闭了。你之后new Scanner并不会帮你开启System.in的流,所以报错了.所以切记不要调用 .close()方法

接下来直接上代码

1.MMovie类

public class MMovie {private String name;private String type;private double donny;public String getName() {return name;}public void setName(String name) {this.name = name;}public String getType() {return type;}public void setType(String type) {this.type = type;}public double getDonny() {return donny;}public void setDonny(double donny) {this.donny = donny;}public MMovie(String name, String type, double donny) {this.name = name;this.type = type;this.donny = donny;}}

2.MMovieManager类

import java.util.ArrayList;
import java.util.Scanner;
public class MMovieManager {ArrayList<MMovie> list=new ArrayList<MMovie>();public MMovie getMovie() {Scanner input=new Scanner(System.in);System.out.println("请输入添加的电影名称:");String name=input.nextLine();System.out.println("请输入添加的电影类型:");String type=input.nextLine();System.out.println("请输入添加的电影人气:");double donny=input.nextDouble();return new MMovie(name,type,donny);}public ArrayList<MMovie> addMovie(MMovie movie){list.add(movie);System.out.println("添加成功!");return list;}public void showMovie() {for (MMovie mMovie : list) {System.out.println("电影名称:"+mMovie.getName()+"\n电影类型:"+mMovie.getType()+"\n电影人气:"+mMovie.getDonny()); }}public void csMovie() {Scanner input2=new Scanner(System.in);String [] type= {"","科幻片","喜剧片","动作片"};System.out.println("请选择分类");System.out.println("1.科幻片");System.out.println("2.喜剧片");System.out.println("3.动作片");int  i=input2.nextInt();for (MMovie mMovie : list) {if(mMovie.getType().equals(type[i])) {System.out.println("电影名称:"+mMovie.getName()+"\n电影类型:"+mMovie.getType()+"\n电影人气:"+mMovie.getDonny()); }}}public void popularMovie() {int flag=0;int count=list.size();System.out.println(count);double label=list.get(0).getDonny();for(int i=0;i<count;i++) {if(list.get(i).getDonny()>=label) {flag=i;label=list.get(i).getDonny();}}System.out.println("电影名称:"+list.get(flag).getName()+"\n电影类型:"+list.get(flag).getType()+"\n电影人气:"+list.get(flag).getDonny());    }}

3.最后再来个测试类Test

import java.util.Scanner;
public class Test {public static void main(String[] args) {boolean flag=true;MMovie movie=null;MMovieManager mm=new MMovieManager();do {System.out.println("1.添加电影");System.out.println("2.查看电影列表");System.out.println("3.分类管理");System.out.println("4.显示人气最高电影");System.out.println("5.退出该系统");System.out.println("请选择:");Scanner input=new Scanner(System.in);int  label=input.nextInt();switch(label) {case 1:movie=mm.getMovie();mm.addMovie(movie);break;case 2:mm.showMovie();break;case 3:mm.csMovie();break;case 4:mm.popularMovie();break;case 5:input.close();System.exit(0);break;default :System.out.println("输入有误!请重新输入!");}      flag=false;}while(!flag);}}

执行结果如下

1.添加电影
2.查看电影列表
3.分类管理
4.显示人气最高电影
5.退出该系统
请选择:
1
请输入添加的电影名称:
功夫熊猫
请输入添加的电影类型:
动作片
请输入添加的电影人气:
8.5
添加成功!
1.添加电影
2.查看电影列表
3.分类管理
4.显示人气最高电影
5.退出该系统
请选择:
1
请输入添加的电影名称:
唐人街探案
请输入添加的电影类型:
喜剧片
请输入添加的电影人气:
8.2
添加成功!
1.添加电影
2.查看电影列表
3.分类管理
4.显示人气最高电影
5.退出该系统
请选择:
1
请输入添加的电影名称:
流浪地球
请输入添加的电影类型:
科幻片
请输入添加的电影人气:
9.5
添加成功!
1.添加电影
2.查看电影列表
3.分类管理
4.显示人气最高电影
5.退出该系统
请选择:
2
电影名称:功夫熊猫
电影类型:动作片
电影人气:8.5
电影名称:唐人街探案
电影类型:喜剧片
电影人气:8.2
电影名称:流浪地球
电影类型:科幻片
电影人气:9.5
1.添加电影
2.查看电影列表
3.分类管理
4.显示人气最高电影
5.退出该系统
请选择:
3
请选择分类
1.科幻片
2.喜剧片
3.动作片
1
电影名称:流浪地球
电影类型:科幻片
电影人气:9.5
1.添加电影
2.查看电影列表
3.分类管理
4.显示人气最高电影
5.退出该系统
请选择:
3
请选择分类
1.科幻片
2.喜剧片
3.动作片
2
电影名称:唐人街探案
电影类型:喜剧片
电影人气:8.2
1.添加电影
2.查看电影列表
3.分类管理
4.显示人气最高电影
5.退出该系统
请选择:
3
请选择分类
1.科幻片
2.喜剧片
3.动作片
3
电影名称:功夫熊猫
电影类型:动作片
电影人气:8.5
1.添加电影
2.查看电影列表
3.分类管理
4.显示人气最高电影
5.退出该系统
请选择:
4
3
电影名称:流浪地球
电影类型:科幻片
电影人气:9.5
1.添加电影
2.查看电影列表
3.分类管理
4.显示人气最高电影
5.退出该系统
请选择:

观影指南(使用java语言模拟实现观影指南. 实现添加电影,查看电影列表,分类查看电影列表,显示人气最高的电影)相关推荐

  1. java二级考试简单应用题,计算机二级考试Java语言模拟考试(2)

    计算机二级考试Java语言模拟考试(2) 一.基本操作题 本题求一个实数37.13的整数部分和小数部分,并打印输出. public class javal{ public static void ma ...

  2. java语言模拟_Java语言模拟操作系统.doc

    河北大学2010级操作系统课程设计论文 PAGE PAGE 27 装订线 装 订 线 (指导教师用表) 学 生 姓 名 指 导 教 师 论文(设计)题目 Java语言模拟操作系统 主要研究 (设计)内 ...

  3. 验证码短信 API 接入指南:Java 语言示例代码

    短信验证码是一种通过短信发送的验证码,通常用于验证用户的身份.保障账户安全和防止恶意攻击等.短信验证码已经成为现代社会中不可或缺的一部分,广泛应用于各种场景,包括用户注册和登录.找回密码等等. 为了满 ...

  4. 设计模式之Java语言模拟肯德基点餐收银系统

    一.题目描述: 同学们应该都去麦当劳或肯德基吃过快餐吧?请同学们参考肯德基官网的信息模拟肯德基快餐店的收银系统,合理使用C++或Java或Python结合设计模式(2种以上)至少实现系统的以下功能: ...

  5. 集合框架练习—使用JAVA语言模拟斗地主洗牌、发牌并对牌进行排序案例代码。

    未排序前: package File;import java.util.ArrayList; import java.util.Collections;public class Poker {/*** ...

  6. Java语言程序设计实训题目练习

    前言:这是怀化学院Java实训平台实训题目总目录 说明:怀化学院的Java实训平台JDK是1.6,相信各位都知道这是什么概念吧,也就是说许多新特性在这个平台用不了,同时平台还有一定的缺陷,只能告诉你答 ...

  7. java 操作系统 模拟 daima_编写一个程序,利用Java语言模拟操作系统进程调度管理...

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 import java.util.PriorityQueue; public class Process implements Comparable { ...

  8. “金三银四”春招指南!java语言程序设计第二版答案朱庆生

    正文 这次写一下springboot与redis的结合,这里使用的是redis集群模式(主从),主从环境的搭建,请参考redis集群搭建 搭建完redis集群环境后,开始springboot之旅 1. ...

  9. BurpSuite插件开发指南之 Java 篇

    Her0in · 2016/05/27 16:53 此文接着 <BurpSuite插件开发指南之 API 下篇> .在此篇中将会介绍如何使用Java 开发 BurpSuite 的插件,重点 ...

最新文章

  1. three.js写的游戏
  2. 解决方案:Unable to create requested service
  3. MyEclipse 快捷键及经验总结
  4. UIView常见属性
  5. mysql 360怎么安装_MySQL安装方法
  6. Spring中的异步和事务性事件侦听器
  7. 08 Spring框架 AOP (一)
  8. java cpu过高排查_涨薪秘籍:JAVA项目排查cpu负载过高
  9. C++ 构造函数分类以及调用
  10. tomcat java环境配置
  11. 第十七期:2019人工智能统计数字和一些重要事实
  12. 在 Redis 上实现的分布式锁
  13. HTTP Error 415: Unsupported Media Type! 这个错误
  14. GNS3全面详解系列-GNS3的前世今生
  15. ssh连接出现 WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!
  16. 【统一异常处理】@ControllerAdvice + @ExceptionHandler 全局处理 Controller 层异常
  17. 轻巧和实用并存——360安全卫士极速版试用报告
  18. 一文搞懂vim复制粘贴
  19. 0基础python笔记str/list/tuple/dict
  20. 2022年数学建模比赛时间大全及报名费

热门文章

  1. 基于scrapy框架的关于58同城招聘网站信息的爬取
  2. FreeModbus源码详解
  3. matlab cftool光滑曲线导出为什么就不光滑了_【富怡CAD问题答疑】为什么我画的曲线有锯齿状,不光滑...
  4. 基于KNN的分类模型-预测美团外卖城市等级
  5. 微信红包生成器App遭腾讯起诉:被判赔偿75万元
  6. 虚数到底有什么意义?
  7. Mycat分库分表分片方式
  8. 计算语言学概论复习笔记(分词、语言模型、隐马尔科夫、POS、ML、DL、MT)
  9. open jdk卸载
  10. GitHub地址是什么?哪里看?