Java基础数组电影管理系统

编程入门 行业动态 更新时间:2024-10-09 02:28:07

Java基础数组电影<a href=https://www.elefans.com/category/jswz/34/1769858.html style=管理系统"/>

Java基础数组电影管理系统

java电影管理系统

## 实现对数组中元素的增伤改查

beans:


## Admin.javapackage com.batis.beans;
/*** @author Administrator*	管理员实体类*		*/public class Admin {private int id;//管理员工号private String name;//管理员姓名private String pass;//管理员密码public Admin() {super();}public Admin(int id, String name, String pass) {super();this.id = id;this.name = name;this.pass = pass;}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 String getPass() {return pass;}public void setPass(String pass) {this.pass = pass;}@Overridepublic String toString() {return "Admin [id=" + id + ", name=" + name + ", pass=" + pass + "]";}}## Movies.javapackage com.batis.beans;
/*** 电影的实体类* @author Administrator*	*/
public class Movies {private String name;//电影名称private String actor;//电影主演private int time;//电影时长public Movies() {super();}public Movies(String name, String actor, int time) {super();this.name = name;this.actor = actor;this.time = time;}public String getName() {return name;}public void setName(String name) {this.name = name;}public String getActor() {return actor;}public void setActor(String actor) {this.actor = actor;}public int getTime() {return time;}public void setTime(int time) {this.time = time;}@Overridepublic String toString() {return this.name + "\t" + this.actor + "\t" + time;}}

主方法

Test.java
package com.batis.test;import com.batis.service.Service;/*** 程序的主方法* @author Administrator*	简单的电影管理系统*/
public class Test {public static void main(String[] args) {new Service().start();}
}

业务层

Service.java
package com.batis.service;import java.util.Scanner;import com.batis.beans.Admin;
import com.batis.beans.Movies;/*** 程序的业务类* @author Administrator*		ctrl + shift +o 导入所需要的包*/
public class Service {//键盘录入对象。private Scanner sc = new Scanner(System.in);//设计模拟数据库,使用对象数组来完成private Admin[] admins = new Admin[10];private Movies[] movies = new Movies[30];//封装程序的入口,保证init()初始化数据这个方法只被执行一次public void start() {// TODO Auto-generated method stubinit();menu1();}//定义初始化数据的方法,保证该方法只能被调用一次public void init() {admins[0] = new Admin(101,"张三","12345");admins[1] = new Admin(102,"李四","12345");movies[0] = new Movies("钢铁侠","唐尼",180);movies[1] = new Movies("青蜂侠","李小龙",168);movies[2] = new Movies("煎饼侠","大鹏",155);}/*	定义菜单方法* 	这里可以不定义成为静态的,下面的定义成静态的* 		因为非静态的可以访问静态的* 	下面的方法也可以定义成为不是静态的* 		同一个包中非静态的可以自由访问*/public void menu1() {System.out.println("==电影管理系统==");System.out.println("1:注册");System.out.println("2:登录");System.out.println("3:退出程序");int choose = sc.nextInt();switch (choose) {case 1:register();break;case 2:login();break;case 3:System.out.println("系统已退出");System.exit(0);break;default:System.out.println("输入有误");break;}menu1();}/** 定义一个管理员的查找法,方便我们对数据信息的定位*/public int getAdminIndex(int id) {int index = -1;for(int i = 0; i < admins.length; i++) {//找到了if(admins[i]!=null && admins[i].getId() ==id) {index = i;break;}}return index;}/** 管理员注册*/public void register() {System.out.println("请输入注册工号");int id = sc.nextInt();System.out.println("请输入您的姓名");String name = sc.next();System.out.println("请输入您的密码");String pass = sc.next();//根据查找法,传入输入的id查找对应的个工号有没有被注册int index = getAdminIndex(id);if(index >= 0) {System.out.println("该工号已被注册");return;}/*	如果没有找到,则向数组中做添加的动作* 	因为不知道数组中有多少个元素* 	应该从第几位开始存入* 	所以使用for循环,当数组中有元素为空既可以存储这个对象*/for(int i = 1; i < admins.length; i++) {if(admins[i] == null) {//数组存储对象new一个对象放在数组中即可admins[i] = new Admin(id,name,pass);System.out.println("添加成功");return;}}//如果上面没有结束掉方法的调用,走到这则说明没有添加System.out.println("添加失败");}/** 管理员登录*/public void login() {System.out.println("请输入您的工号");int id = sc.nextInt();/** 使用查找法,判断输入的工号是否存在* 不存在则直接返回掉*/int index = getAdminIndex(id);if(index < 0) {System.out.println("该工号尚未激活");return;}//走到这说明没有结束掉方法,可以进行数据的判断,给用户三次机会for(int i = 1; i <= 3; i++) {System.out.println("请输入您的密码");String pass = sc.next();//进行判断,已经确定有这个账号,判断密码是否一致即可if(admins[index].getPass().equals(pass) ){System.out.println("登录成功");//跳转二级菜单menu2(index);//跳出这个循环break;}//在这个for循环里面,当次数等于3的时候退出这个程序if(i == 3) {System.out.println("登录失败");System.exit(0);}else{System.out.println("密码输入有误,您还有:"+(3-i)+"次机会");}}}//根据传入的索引取出这个值public void menu2(int index) {System.out.println("==电影管理系统==欢迎"+admins[index].getName());System.out.println("1:根据片名查找电影");System.out.println("2:展示所有电影");System.out.println("3:修改电影时长");System.out.println("4:新增一部电影");System.out.println("5:下架一部旧影片");System.out.println("6:返回上级菜单");System.out.println("7:退出程序");int choose = sc.nextInt();switch (choose) {case 1:findMovieByName();break;case 2:showAllMovies();break;case 3:changeMovieTimes();break;case 4:addOneMovie();break;case 5:delOneMovie();break;case 6:menu1();break;case 7:System.out.println("程序已退出");System.exit(0);break;default:System.out.println("输入有误");break;}menu2(index);}/** 定义影片的查找法*/public int getMovieIndex(String name) {int index = -1;for(int i = 0; i < movies.length; i++) {//查找if(movies[i]!=null && movies[i].getName().contentEquals(name)) {index = i;break;}}return index;}/** 根据电影名称查找电影*/public int findMovieByName() {System.out.println("请输入要查找的影片名称");String name = sc.next();int index = getMovieIndex(name);if(index < 0) {System.out.println("影片不存在");return -1;}System.out.println("影片名称\t影片主演\t一片时长");System.out.println(movies[index].toString());return index;}/** 展示所有影片*/public void showAllMovies() {System.out.println("影片名称\t影片主演\t影片时长");for(int i = 0; i < movies.length; i++) {if(movies[i]!=null) {System.out.println(movies[i].toString());}}}/** 修改影片时长*/public void changeMovieTimes() {//查找影片,如果影片不存在返回值为-1int index = findMovieByName();if(index < 0) {System.out.println("影片不存在");return;}System.out.println("请输入修改后时长");int newTime = sc.nextInt();movies[index].setTime(newTime);System.out.println("修改成功");}/** 添加一部新的影片*/public void addOneMovie() {System.out.println("请输入新的影片的名称");String name = sc.next();System.out.println("请输入该影片的主演");String actor = sc.next();System.out.println("请输入该影片的时长");int time = sc.nextInt();//查找int index = getMovieIndex(name);if(index >=0) {System.out.println("该影片已经存在");return;}//添加for(int i =1; i < movies.length; i++) {if(movies[i] == null) {movies[i] =new Movies(name,actor,time);System.out.println("添加成功");return;}}System.out.println("添加失败");}/** 删除一部旧的影片*/public void delOneMovie() {int index = findMovieByName();if(index < 0) {System.out.println("该影片不存在");return;}//删除判断System.out.println("是否确定删除该影片?(y/n)");String choose = sc.next();if(choose.equals("n")) {return;}//删除movies[index] = null;System.out.println("删除成功");}
}

更多推荐

Java基础数组电影管理系统

本文发布于:2024-02-26 01:38:03,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1700935.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:管理系统   数组   基础   电影   Java

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!