观影指南(使用java语言模拟实现观影指南. 实现添加电影,查看电影列表,分类查看电影列表,显示人气最高的电影)
实现思路
添加实体类
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语言模拟实现观影指南. 实现添加电影,查看电影列表,分类查看电影列表,显示人气最高的电影)相关推荐
- java二级考试简单应用题,计算机二级考试Java语言模拟考试(2)
计算机二级考试Java语言模拟考试(2) 一.基本操作题 本题求一个实数37.13的整数部分和小数部分,并打印输出. public class javal{ public static void ma ...
- java语言模拟_Java语言模拟操作系统.doc
河北大学2010级操作系统课程设计论文 PAGE PAGE 27 装订线 装 订 线 (指导教师用表) 学 生 姓 名 指 导 教 师 论文(设计)题目 Java语言模拟操作系统 主要研究 (设计)内 ...
- 验证码短信 API 接入指南:Java 语言示例代码
短信验证码是一种通过短信发送的验证码,通常用于验证用户的身份.保障账户安全和防止恶意攻击等.短信验证码已经成为现代社会中不可或缺的一部分,广泛应用于各种场景,包括用户注册和登录.找回密码等等. 为了满 ...
- 设计模式之Java语言模拟肯德基点餐收银系统
一.题目描述: 同学们应该都去麦当劳或肯德基吃过快餐吧?请同学们参考肯德基官网的信息模拟肯德基快餐店的收银系统,合理使用C++或Java或Python结合设计模式(2种以上)至少实现系统的以下功能: ...
- 集合框架练习—使用JAVA语言模拟斗地主洗牌、发牌并对牌进行排序案例代码。
未排序前: package File;import java.util.ArrayList; import java.util.Collections;public class Poker {/*** ...
- Java语言程序设计实训题目练习
前言:这是怀化学院Java实训平台实训题目总目录 说明:怀化学院的Java实训平台JDK是1.6,相信各位都知道这是什么概念吧,也就是说许多新特性在这个平台用不了,同时平台还有一定的缺陷,只能告诉你答 ...
- java 操作系统 模拟 daima_编写一个程序,利用Java语言模拟操作系统进程调度管理...
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 import java.util.PriorityQueue; public class Process implements Comparable { ...
- “金三银四”春招指南!java语言程序设计第二版答案朱庆生
正文 这次写一下springboot与redis的结合,这里使用的是redis集群模式(主从),主从环境的搭建,请参考redis集群搭建 搭建完redis集群环境后,开始springboot之旅 1. ...
- BurpSuite插件开发指南之 Java 篇
Her0in · 2016/05/27 16:53 此文接着 <BurpSuite插件开发指南之 API 下篇> .在此篇中将会介绍如何使用Java 开发 BurpSuite 的插件,重点 ...
最新文章
- three.js写的游戏
- 解决方案:Unable to create requested service
- MyEclipse 快捷键及经验总结
- UIView常见属性
- mysql 360怎么安装_MySQL安装方法
- Spring中的异步和事务性事件侦听器
- 08 Spring框架 AOP (一)
- java cpu过高排查_涨薪秘籍:JAVA项目排查cpu负载过高
- C++ 构造函数分类以及调用
- tomcat java环境配置
- 第十七期:2019人工智能统计数字和一些重要事实
- 在 Redis 上实现的分布式锁
- HTTP Error 415: Unsupported Media Type! 这个错误
- GNS3全面详解系列-GNS3的前世今生
- ssh连接出现 WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!
- 【统一异常处理】@ControllerAdvice + @ExceptionHandler 全局处理 Controller 层异常
- 轻巧和实用并存——360安全卫士极速版试用报告
- 一文搞懂vim复制粘贴
- 0基础python笔记str/list/tuple/dict
- 2022年数学建模比赛时间大全及报名费