一个小人物的成长史


背景故事

这里是一片世界域,而其中一个世界名为原初,这里原本一片祥和,不知从何时起战争席卷这一片大地,各处纷争不止,战乱不休,令人苦不堪言。而造成这一切的却是一名不可言说的存在,令人心生绝望

一、降生

“老师,我们快要顶不住了,怎么办”?一名容颜清秀的少女带着颤抖的声音向他面前高大的男人问道,而那男人却并未回话,而是喃喃自语道:“终究是到这一步了,以整个世界之力打开通道,希望能找到异世界的援军吧,哪怕是虚无缥缈的”。
“起,啊啊啊,走”,随着一片异动之色大范围传播开来,这声响逐渐被那位得知,“呵呵,垂死挣扎,也罢,预先取之,必先给之”,话语声逐渐变小,直至消失。
-------异世界-----
“你是谁”,我是(请不伤人 人自伤),你又是谁,望着眼前的少女,主角惊恐的说到,由不得他惊恐,这个少女突然出现在他床上啊看,“我不知道自己是谁,什么都忘记了,只记得脑海里有一种使命,话不多说,没时间聊了,我刚刚联通了这个世界的网络,获取了这个世界大量信息,我们要缔结契约,你们这个世界上有2种力量可以转为职业,一个是作家,可移山倒海,但看你估计不行了”,少女带着审视的意味对眼前的少男说道,停顿了一会儿继续道,“还有一个是程序猿,可化腐朽为神奇,刚好你也是做这方面的,而且还是个新手,可塑造性强,你要先创建一个程序,然后慢慢进化”

二、创建Dvd管理系统

1.功能介绍

用数组创建一个Dvd管理系统,有增删改查功能,还有出租日期,归还日期,以及排行榜
属性有名称,租金,出租日期,归还日期,状态(false表示未出租)出租次数

2.功能模块

2.1新增Dvd

System.out.println("正在新增DVD");
						//用数组保存dvd的状态信息
						for (int i = 0; i <names.length; i++) {
							if(names[i]!=null) {
								
								continue;
							}
							
							System.out.print("请输入DVD名称:");
							names[i]=sc.next();
							nameflag++;
							System.out.println();
							System.out.print("请输入DVD租金:");
							prices[i]=sc.nextInt();
							System.out.print("还要输入吗(y/n)");
							String y1=sc.next();
							if(y1.equals("n")) {
								break;

2.2 显示所有Dvd

System.out.println("正在显示DVD");
						System.out.print("碟片名称"+"\t");
						
						System.out.print("\t"+"租金/日"+"\t");
						
						System.out.print("\t"+"状态"+"\t");
						System.out.print("\t"+"出租日期"+"\t");
						System.out.println("出租次数"+"\t");
						for (int i = 0; i < nameflag; i++) {
							System.out.print(names[i]+"\t"+"\t");
							System.out.print("\t"+prices[i]+"\t"+"\t");
							System.out.print(status[i]+"\t"+"\t");
							System.out.print(date[i]+"\t"+"\t");
							System.out.print(counts[i]+"\t");
							System.out.println();

2.3 删除Dvd

System.out.println("正在进入删除DVD界面");
						System.out.print("请输入想删除碟片名称:");
						String name=sc.next();
						boolean index=false;
						int k=0;
						for (int i = 0; i < names.length; i++) {
							if(names[i]==null) {
								continue;
							}
							if(names[i].equals(name)) {//删除该碟片有关信息
								index=true;
								k=i;
								
							}
							
						}
						if(index) {
							names[k]=null;
							prices[k]=0;
							status[k]=false;
							dates[k]=null;
							counts[k]=0;
							System.out.println("碟片已删除....");
							
						}else {
							System.out.println("该碟片不存在");
						}
						
				
						break;

2.4 修改租金

boolean flag1=false;
						int t1=0;
						System.out.println("正在修改DVD租金");
						System.out.println("请输入想修改租金的碟片名称");
						String name1=sc.next();
						for (int i = 0; i < names.length; i++) {
							if(names[i]==null) {
								
								return;
							}
							if(name1.equals(names[i])) {
								flag1=true;
								t1=i;
								if(status[i]) {//已出租不能删除
									flag1=false;
								}
								break;
									}
							
						}
						if(flag1) {
							System.out.print("请输入修改后的单价");
							int price1=sc.nextInt();
							prices[t1]=price1;
							System.out.println("修改成功");
							
							
						}else {
							System.out.println("该碟片不存在/不能删除");
							
						}
						
					
						
						break;

2.5 出租日期

boolean flag5=false;
						int index5=0;
						System.out.println("正在出租DVD........");
						System.out.print("请输入出租碟片名称:");
						String name2=sc.next();
						for (int i = 0; i < names.length; i++) {
							if(names[i]==null) {
								
								continue;
							}
							if(names[i].equals(name2)) {
								flag5=true;
								index5=i;
								break;
								
						}
							
							
							
							
						}
						if(status[index5]) {//判断碟片是否出租过
							System.out.println("该碟片已经出租,不可再出租");
							
						}else {
							
							status[index5]=true;
							//记录出租日期
							Date date1=new Date();
							dates[index5]=date1;
							datelong1[index5]=sdf.format(date1);
							
							//datelong1[index5]=date[index5].getTime();
							counts[index5]++;//出租次数加一
							System.out.println("出租成功");
							
						}
			
						break;

2.6 归还日期

boolean flag6=false;
						int index6=0;
						System.out.println("正在归还DVD");
						System.out.print("请输入归还碟片名称:");
						String name3=sc.next();
						Date date2=new Date();
						for (int j = 0; j < names.length; j++) {
							if(names[j]==null) {
								
								continue;
							}
							if(name3.equals(names[j])) {
								index6=j;
								flag6=true;
								status[j]=false;//状态还原
								System.out.println("归还成功");
								break;
							}
								
							
						}
						if(flag6) {
							dates[index6]=new Date();
							dateold[index6]=sdf.format(date2);
							long day=(date2.getTime()-dates[index6].getTime())/(1000 * 60 * 60 * 24);
							//归还碟片并打印时间
							long count6=day>0 ? prices[index6]*day:prices[index6]*(day+1);
							System.out.println("出租日期:"+datelong1[index6]);
							System.out.println("归还日期:"+dateold[index6]);
							System.out.println("共计:"+day);
							System.out.println("日租金:"+prices[index6]);
							System.out.println("应支付"+count6+"元");
							
							
						}
							
							
							
						else {
							System.out.println("该碟片不存在...");
							
						}
						
						
						
						break;

2.7 排行榜

System.out.println("出租排行榜");
						System.out.print("碟片名称"+"\t");
						System.out.println("出租次数"+"\t");
						int[] count1=new int[10];
						for (int i = 0; i < count1.length; i++) {//排序
							int t=count1[i];
							int t7=counts[i];
							String tnames=names[i];//一起换位
							boolean tstatus=status[i];
							int tprices=prices[i];
							String tdatelong1=datelong1[i];
							
							int index7=i;
							for (int j = 0; j < i; j++) {
								if(count1[j]<count1[i]) {
									index7=j;
									
									break;
								}
							}
							for(int j=i;j>index7;j--) {
								count1[j]=count1[j-1];
								counts[j]=counts[j-1];
								names[j]=names[j-1];
								status[j]=status[j-1];
								prices[j]=prices[j-1];
								datelong1[j]=datelong1[j-1];
								
							}
							count1[index7]=t;
							counts[index7]=t;
							names[index7]=tnames;
							status[index7]=tstatus;
							prices[index7]=tprices;
							datelong1[index7]=tdatelong1;
							
						}
						for (int i = 0; i < 3; i++) {
							System.out.print(names[i]+"\t");
							System.out.println("\t"+counts[i]);
							
						}
						
						
						
						break;

3.登录模块

System.out.println("欢迎进入DVD管理系统");
			System.out.println("请输入登录账号");
			String card=sc.next();
			System.out.println("请输入登录密码");
			String password=sc.next();
			if(card.equals("admin") && password.equals("123")) {//验证账号密码是否正确
				
				System.out.println("登录成功");

图片

界面
新增以及显示
修改
出租


总结

勉勉强强吧,少女看着眼前这个程序界面,总算恢复了一点力量,接下来准备做一个面向对象的DVD吧

源代码

import java.text.SimpleDateFormat;
import java.util.Arrays;
import java.util.Date;
import java.util.Scanner;

public class DVDSystem {

	public static void main(String[] args) {
		Scanner sc=new Scanner(System.in);
		// DVD管理系统
		//数组定义
		String[] names=new String[10] ;//碟片名称
		int[] prices=new int[10];//租金
		boolean[] status=new boolean[10];//出租状态
		Date[] dates=new Date[10];//出租时间
		int[] counts=new int[10];//出租碟片次数
		String[] date=new String[10];
		String[] dateold=new String[10];
		String[] datelong1=new String[10];
		String[] datelong2=new String[10];
		names[0]="夏洛特"; prices[0]=10;
		names[1]="hu"; prices[1]=1;
		int nameflag=2;
		//创建日期格式化器对象
		SimpleDateFormat sdf=new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");
		
		boolean flags=false;
			do {
			
			System.out.println("欢迎进入DVD管理系统");
			System.out.println("请输入登录账号");
			String card=sc.next();
			System.out.println("请输入登录密码");
			String password=sc.next();
			if(card.equals("admin") && password.equals("123")) {//验证账号密码是否正确
				
				System.out.println("登录成功");

				boolean flag=true;
				do {
				System.out.println("------------欢迎进入DVD管理系统------------");
				System.out.print("\t"+"1.新增DVD"+"\t");
				System.out.print("\t"+"2.显示所有DVD"+"\t");
				System.out.println();
				System.out.print("\t"+"3.删除DVD"+"\t");
				System.out.print("\t"+"4.修改DVD租金"+"\t");
				System.out.println();
				System.out.print("\t"+"5.出租DVD"+"\t");
				System.out.print("\t"+"6.归还DVD"+"\t");
				System.out.println();
				System.out.print("\t"+"7.出租排行榜"+"\t");
				System.out.println("\t"+"8.退出系统"+"\t");
				System.out.println("请输入你的选择:");
				
				int choice=sc.nextInt();
				switch(choice){
					case 1:
						System.out.println("正在新增DVD");
						//用数组保存dvd的状态信息
						for (int i = 0; i <names.length; i++) {
							if(names[i]!=null) {
								
								continue;
							}
							
							System.out.print("请输入DVD名称:");
							names[i]=sc.next();
							nameflag++;
							System.out.println();
							System.out.print("请输入DVD租金:");
							prices[i]=sc.nextInt();
							System.out.print("还要输入吗(y/n)");
							String y1=sc.next();
							if(y1.equals("n")) {
								break;
							}
						}
							
							

						break;
					case 2:
						System.out.println("正在显示DVD");
						System.out.print("碟片名称"+"\t");
						
						System.out.print("\t"+"租金/日"+"\t");
						
						System.out.print("\t"+"状态"+"\t");
						System.out.print("\t"+"出租日期"+"\t");
						System.out.println("出租次数"+"\t");
						for (int i = 0; i < nameflag; i++) {
							System.out.print(names[i]+"\t"+"\t");
							System.out.print("\t"+prices[i]+"\t"+"\t");
							System.out.print(status[i]+"\t"+"\t");
							System.out.print(date[i]+"\t"+"\t");
							System.out.print(counts[i]+"\t");
							System.out.println();
						}
			
						break;
					case 3:
						System.out.println("正在进入删除DVD界面");
						System.out.print("请输入想删除碟片名称:");
						String name=sc.next();
						boolean index=false;
						int k=0;
						for (int i = 0; i < names.length; i++) {
							if(names[i]==null) {
								continue;
							}
							if(names[i].equals(name)) {//删除该碟片有关信息
								index=true;
								k=i;
								
							}
							
						}
						if(index) {
							names[k]=null;
							prices[k]=0;
							status[k]=false;
							dates[k]=null;
							counts[k]=0;
							System.out.println("碟片已删除....");
							
						}else {
							System.out.println("该碟片不存在");
						}
						
				
						break;
					case 4:
						boolean flag1=false;
						int t1=0;
						System.out.println("正在修改DVD租金");
						System.out.println("请输入想修改租金的碟片名称");
						String name1=sc.next();
						for (int i = 0; i < names.length; i++) {
							if(names[i]==null) {
								
								return;
							}
							if(name1.equals(names[i])) {
								flag1=true;
								t1=i;
								if(status[i]) {//已出租不能删除
									flag1=false;
								}
								break;
								
							}
							
						}
						if(flag1) {
							System.out.print("请输入修改后的单价");
							int price1=sc.nextInt();
							prices[t1]=price1;
							System.out.println("修改成功");
							
							
						}else {
							System.out.println("该碟片不存在/不能删除");
							
						}
						
					
						
						break;
					case 5:
						boolean flag5=false;
						int index5=0;
						System.out.println("正在出租DVD........");
						System.out.print("请输入出租碟片名称:");
						String name2=sc.next();
						for (int i = 0; i < names.length; i++) {
							if(names[i]==null) {
								
								continue;
							}
							if(names[i].equals(name2)) {
								flag5=true;
								index5=i;
								break;
								
						}
							
							
							
							
						}
						if(status[index5]) {//判断碟片是否出租过
							System.out.println("该碟片已经出租,不可再出租");
							
						}else {
							
							status[index5]=true;
							//记录出租日期
							Date date1=new Date();
							dates[index5]=date1;
							datelong1[index5]=sdf.format(date1);
							
							//datelong1[index5]=date[index5].getTime();
							counts[index5]++;//出租次数加一
							System.out.println("出租成功");
							
						}
			
						break;
					case 6:
						boolean flag6=false;
						int index6=0;
						System.out.println("正在归还DVD");
						System.out.print("请输入归还碟片名称:");
						String name3=sc.next();
						Date date2=new Date();
						for (int j = 0; j < names.length; j++) {
							if(names[j]==null) {
								
								continue;
							}
							if(name3.equals(names[j])) {
								index6=j;
								flag6=true;
								status[j]=false;//状态还原
								System.out.println("归还成功");
								break;
							}
								
							
						}
						if(flag6) {
							dates[index6]=new Date();
							dateold[index6]=sdf.format(date2);
							long day=(date2.getTime()-dates[index6].getTime())/(1000 * 60 * 60 * 24);
							//归还碟片并打印时间
							long count6=day>0 ? prices[index6]*day:prices[index6]*(day+1);
							System.out.println("出租日期:"+datelong1[index6]);
							System.out.println("归还日期:"+dateold[index6]);
							System.out.println("共计:"+day);
							System.out.println("日租金:"+prices[index6]);
							System.out.println("应支付"+count6+"元");
							
							
						}
							
							
							
						else {
							System.out.println("该碟片不存在...");
							
						}
						
						
						
						break;
					case 7:
						System.out.println("出租排行榜");
						System.out.print("碟片名称"+"\t");
						System.out.println("出租次数"+"\t");
						int[] count1=new int[10];
//						int[] names1=new int[10];
//						int max1=0;
						for (int i = 0; i < counts.length; i++) {//复制
							count1[i]=counts[i];
						}
//						for (int i = 0; i < count1.length; i++) {
//							if(max1<count1) {
//								
//							}
//						}
//						int[] max=new int[3];
//						int[] index1=new int[3];
//						for (int i = 0; i < max.length; i++) {
//							
//							
//							for (int j = 0; j < counts.length; j++) {//只展示前三
//								if(max[i]<counts[j]) {
//									max[i]=counts[j];
//									index1[i]=j;
//																	
//								}
//								
//							}
//						}
//						for (int l = 0; l < index1.length; l++) {
//							
//							
//							
//							System.out.print(names[ l]+"\t"+"\t");
//							System.out.println(counts[l]+"\t");
//							
//							
//						}
//						
						for (int i = 0; i < count1.length; i++) {//排序
							int t=count1[i];
							int t7=counts[i];
							String tnames=names[i];//一起换位
							boolean tstatus=status[i];
							int tprices=prices[i];
							String tdatelong1=datelong1[i];
							
							int index7=i;
							for (int j = 0; j < i; j++) {
								if(count1[j]<count1[i]) {
									index7=j;
									
									break;
								}
							}
							for(int j=i;j>index7;j--) {
								count1[j]=count1[j-1];
								counts[j]=counts[j-1];
								names[j]=names[j-1];
								status[j]=status[j-1];
								prices[j]=prices[j-1];
								datelong1[j]=datelong1[j-1];
								
							}
							count1[index7]=t;
							counts[index7]=t;
							names[index7]=tnames;
							status[index7]=tstatus;
							prices[index7]=tprices;
							datelong1[index7]=tdatelong1;
							
						}
						for (int i = 0; i < 3; i++) {
							System.out.print(names[i]+"\t");
							System.out.println("\t"+counts[i]);
							
						}
						
						
						
						break;
					case 8:
						System.out.println("已退出系统,感谢使用");
						flag=false;
						break;
					default:
						System.out.println("输入数字错误,请重新输入");
						
						break;
					
				}
				}while(flag);
				
			}else {
				flags=true;
				System.out.println("登录失败,请重新登录");
			}
			}while(flags);
			
			
			
			

	}
		

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值