初生
背景故事
这里是一片世界域,而其中一个世界名为原初,这里原本一片祥和,不知从何时起战争席卷这一片大地,各处纷争不止,战乱不休,令人苦不堪言。而造成这一切的却是一名不可言说的存在,令人心生绝望
一、降生
“老师,我们快要顶不住了,怎么办”?一名容颜清秀的少女带着颤抖的声音向他面前高大的男人问道,而那男人却并未回话,而是喃喃自语道:“终究是到这一步了,以整个世界之力打开通道,希望能找到异世界的援军吧,哪怕是虚无缥缈的”。
“起,啊啊啊,走”,随着一片异动之色大范围传播开来,这声响逐渐被那位得知,“呵呵,垂死挣扎,也罢,预先取之,必先给之”,话语声逐渐变小,直至消失。
-------异世界-----
“你是谁”,我是(请不伤人 人自伤),你又是谁,望着眼前的少女,主角惊恐的说到,由不得他惊恐,这个少女突然出现在他床上啊看,“我不知道自己是谁,什么都忘记了,只记得脑海里有一种使命,话不多说,没时间聊了,我刚刚联通了这个世界的网络,获取了这个世界大量信息,我们要缔结契约,你们这个世界上有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);
}
}