共计 5482 个字符,预计需要花费 14 分钟才能阅读完成。
建设数组
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. } | |
正文完