建设数组
1. public class DVD_set {
2. // 此处为 copy
3. String[] name = new String[50];// 存储 DVD 的名字
4. String[] date = new String[50];// 以后 DVD 被借出的工夫
5. int[] state = new int[50];// 以后 DVD 的存取状态
6. int[] count = new int[50];// 以后 DVD 被借出的次数
7. }
根本函数实现
外汇 MT4 教程 https://www.kaifx.cn/mt4.html
1. import java.util.Scanner;
3. public class DVD_main {5. DVD_set DVD = new DVD_set();
6. // 此处为 copy
7. public void initial() {8. DVD.name[0] = "罗马假日";
9. DVD.state[0] = 0;
10. DVD.count[0] = 30;
11. DVD.date[0] = "2020-11-18";
13. DVD.name[1] = "草木皆兵";
14. DVD.state[1] = 1;
16. DVD.name[2] = "浪漫满屋";
17. DVD.state[2] = 1;
18. DVD.count[2] = 10;
19. }
21. public void startMenu() {23. Scanner sc = new Scanner(System.in);
25. System.out.println("---------------------------");
26. System.out.println("| Welcome to my DVD world |");
27. System.out.println("|1---------------- 查 看 DVD|");
28. System.out.println("|2---------------- 新 增 DVD|");
29. System.out.println("|3---------------- 删 除 DVD|");
30. System.out.println("|4---------------- 借 出 DVD|");
31. System.out.println("|5---------------- 归 还 DVD|");
32. System.out.println("|0---------------- 退 出 DVD|");
33. System.out.println("---------------------------");
35. System.out.printf("请抉择:");
37. int choose = sc.nextInt();
39. switch (choose) {
40. case 1:
41. DVD_search();
42. returnMenu();
43. break;
44. case 2:
45. DVD_add();
46. returnMenu();
47. break;
48. case 3:
49. DVD_delete();
50. returnMenu();
51. break;
52. case 4:
53. DVD_lend();
54. returnMenu();
55. break;
56. case 5:
57. DVD_return();
58. returnMenu();
59. break;
60. case 0:
61. DVD_out();
62. break;
63. default:
64. System.out.println("输出谬误,请输出 0 返回主界面后从新输出");
65. returnMenu();
66. break;
67. }
68. }
70. // 返回主界面
71. public void returnMenu() {72. System.out.println("输出 0 返回主界面");
73. Scanner sc = new Scanner(System.in);
74. if (sc.nextInt() == 0) {75. startMenu();
76. } else {77. System.out.println("输出谬误,请从新输出");
78. returnMenu();
79. }
80. }
82. // 查看以后所有 DVD 的根本信息
83. public void DVD_search() {84. System.out.println("-----------------------------------------------------------------");
85. System.out.println("|" + "序号 t" + "|" + "名称 tt" + "|" + "状态 t" + "|" + "借出工夫 t" + "|" + "借出次数 t" + "|");
86. for (int i = 0; i < DVD.name.length; i++) {87. if (DVD.name[i] == null) {
88. break;
89. } else if (DVD.state[i] == 0) {90. System.out.println("|" + i + "t" + "|" + "<<" + DVD.name[i] + ">>t" + "|" + "已借出 t" + "|"
91. + DVD.date[i] + "t" + "|" + DVD.count[i] + "tt" + "|");
92. } else if (DVD.state[i] == 1) {93. System.out.println("|" + i + "t" + "|" + "<<" + DVD.name[i] + ">>t" + "|" + "可借 t" + "|" + "tt"
94. + "|" + DVD.count[i] + "tt" + "|");
95. }
96. }
97. System.out.println("-----------------------------------------------------------------");
98. }
100. // 减少 DVD
101. public void DVD_add() {102. System.out.println("请输入您要增加的 DVD:");
103. Scanner sc = new Scanner(System.in);
104. String name = sc.next();
106. for (int i = 0; i < DVD.name.length; i++) {
107. // 查找到以后数组中有空位的中央
108. if (DVD.name[i] == null) {
109. // 将须要增加的 DVD 内容输出
110. DVD.name[i] = name;
111. // 赋初值,因为是刚增加的图书,所以状态为未借出
112. DVD.state[i] = 1;
113. System.out.println("《" + name + "》增加胜利!");
114. break;
115. }
116. }
117. }
119. // 删除 DVD
120. public void DVD_delete() {121. System.out.println("请输入您要删除的 DVD 名称:");
122. Scanner sc = new Scanner(System.in);
123. String name = sc.next();
125. for (int i = 0; i < DVD.name.length; i++) {
126. // 循环查找以后库存中的 DVD
127. if (DVD.name[i] != null) {
128. // 以后库存中 DVD 不为空,当库存中 DVD 遍历完之后
129. if (DVD.name[i].equalsIgnoreCase(name)) {
130. // equalsIgnoreCase 能够进行疏忽大小写的字符串比拟
131. // 判断库中所存的 name 是否和以后输出的 name 雷同
132. if (DVD.state[i] == 0) {
133. // 判断 DVD 是否被借出
134. System.out.println("《" + name + "》" + "曾经被借出!");
135. // 如果被借出则终止持续查找
136. break;
137. } else if (DVD.state[i] == 1) {
138. // 如果 DVD 没有被借出
139. for (int j = i; j < DVD.name.length; j++) {
140. // 如果被删除的 DVD 不是菜单中最初一个
141. if (DVD.name[j + 1] != null) {
142. // 则将须要删除的 DVD 前面的内容移动到后面
143. DVD.name[j] = DVD.name[j + 1];
144. DVD.state[j] = DVD.state[j + 1];
145. DVD.date[j] = DVD.date[j + 1];
146. DVD.count[j] = DVD.count[j + 1];
147. } else {
148. // 如果以后须要删除的 DVD 是最初一个,则间接进行删除
149. DVD.name[j] = null;
150. DVD.date[j] = null;
151. DVD.count[j] = 0;
152. DVD.state[j] = 1;
153. // 删除完结后退出循环
154. break;
155. }
156. }
157. }
158. System.out.println("删除" + "《" + name + "》" + "胜利");
159. // 删除胜利则完结循环
160. break;
161. }
162. } else {
163. // 遍历残缺个库存都没有找到须要删除的 DVD
164. System.out.println("没有找到您抉择删除的 DVD!");
165. }
166. }
167. }
169. // 借出 DVD
170. public void DVD_lend() {171. System.out.println("请输入您要借出的 DVD 名称:");
172. Scanner sc = new Scanner(System.in);
173. String name = sc.next();
175. for (int i = 0; i < DVD.name.length; i++) {
176. // 循环查找以后库存中的 DVD
177. if (DVD.name[i] != null) {
178. // 以后库存中 DVD 不为空,当库存中 DVD 遍历完之后
179. if (DVD.name[i].equalsIgnoreCase(name)) {
180. // equalsIgnoreCase 能够进行疏忽大小写的字符串比拟
181. // 判断库中所存的 name 是否和以后输出的 name 雷同
182. if (DVD.state[i] == 0) {
183. // 判断 DVD 是否被借出
184. System.out.println("《" + name + "》" + "曾经被借出!");
185. // 如果被借出则终止持续查找
186. break;
187. } else if (DVD.state[i] == 1) {
188. // 如果 DVD 没有被借出
189. DVD.state[i] = 0;
191. System.out.println("请输出借阅日期:");
192. String date = sc.next();
193. DVD.date[i] = date;
194. DVD.count[i] += 1;
195. System.out.println("《" + name + "》" + "已胜利借出!");
196. break;
197. }
198. }
199. } else {
200. // 遍历残缺个库存都没有找到须要删除的 DVD
201. System.out.println("没有找到您抉择借出的 DVD!");
202. }
203. }
204. }
206. // 偿还 DVD
207. public void DVD_return() {208. System.out.println("请输入您要偿还的 DVD 名称:");
209. Scanner sc = new Scanner(System.in);
210. String name = sc.next();
212. for (int i = 0; i < DVD.name.length; i++) {
213. // 循环查找以后库存中的 DVD
214. if (DVD.name[i] != null) {
215. // 以后库存中 DVD 不为空,当库存中 DVD 遍历完之后
216. if (DVD.name[i].equalsIgnoreCase(name)) {
217. // equalsIgnoreCase 能够进行疏忽大小写的字符串比拟
218. // 判断库中所存的 name 是否和以后输出的 name 雷同
219. if (DVD.state[i] == 0) {
220. // 判断 DVD 是否被借出
221. DVD.state[i] = 1;
222. System.out.println("《" + name + "》" + "曾经偿还结束!");
223. break;
224. }
225. }
226. } else {
227. // 遍历残缺个库存都没有找到须要删除的 DVD
228. System.out.println("没有找到您抉择偿还的 DVD!");
229. }
230. }
231. }
233. // 退出 DVD 管理系统
234. public void DVD_out() {235. System.out.println("感谢您的应用,欢送下次光顾!");
236. }
237. }
程序简略运行
1. import java.util.*;
2. import java.text.*;
4. public class DVD_demo {5. public static void main(String[] args) {7. DVD_main DVD = new DVD_main();
9. DVD.initial();
10. DVD.startMenu();
11. }
12. }