一.感想

Java开学测试有感

九月二十号,王老师给我们上的第一节java课,测试。

说实话,不能说是十分有自信,但还好,直到看见了开学测试的题目,之前因为已经做过了王老师发的16级的题目,所以当时还是有些底气的。遇到题目的时候是的确蒙了。因为小学期已经做过学生的通讯录。所以16级的试题显得好做一些,考试前学委说可能老师会加上文件操作,所以自己也相应的添加了文件的读取和写入操作,但是王老师显然是老江湖,觉得这些题目还不够有挑战性,换成了现在的ATM程序。

变量的定义,按照老师的说法就是送分,的确,这算是基本的操作了,不过令人尴尬的是,我在用eclipse的对成员变量进行构造set和get方法时也出现了问题。但是在后来的编程过程当中,这个问题也是无缘无故地消失了,我也是莫名其妙。

整个程序基本上可以说是建立在文件的基础上的,除了开头的操作,大多都要用到文件功能。

再说具体的功能,第一个账号的辨别,现在对我来说,这个功能的实现已经很简单了,但是当时确实花了不少的时间去解决这个问题,导致当时的进度一直无法推进,因为自己的文件功能还算比较陌生的,识别账号的关键就是读取文件之后对于没一行的数据进行遍历,对比,从而来达到这个功能。这个地方对比的时候,必须要注意不可以直接用==来对比,因为两者的地址不同,对比的结果肯定是不一样的,可以用equal方法来解决这个问题。

对于密码的功能的实现,我是在之前账号的基础上,对账号的下一行数据保存到对象的密码成员数据中,然后在输入密码时和密码进行对比。

目前程序已经完成,所有的功能大致已经都可以很好的实现,但是还有地方有欠缺,就是账号和密码这连个功能是分开实现的,没有连成一个整体,也就是说,账号功能无论是否完成都会进行密码阶段,我个人觉得这连个功能和之后的五个功能都要在一个大的while循环中完成就可以解决问题,或者是思考如何返回界面这个问题,当然我也觉得这个问题是本程序的难点之一,可惜自己现在还没有完成。

存款等功能是在while循环中做出来的,正整数可以用除余的方法来实现。下面的几个程序都能够很正常的实现。我觉得大多数同学也觉得这个地方比较简单,最重要问题的就是文件的读取和写入。

在修改密码的功能中就需要文件的写入,因为我在密码功能实现的时候是把账号的下一行数值当做密码赋值给成员数据的,所以在写入新密码的时候也需要将新密码写在账号的后一行,这样才能确保程序下一次运行时密码和账号匹配。所以我的解决方案是先将文件中的数据读到一个String数组当中,然后再次覆盖写入,在覆盖写入的时候对写入的进行辨别,如果是当前账号,就在账号后面先插入修改完成的密码,之后再将剩下的数据依次插入即可完成。

最后要求完成的功能就是对操作过程的记录,这个即使简单的对文件的写入,唯一的尴尬就是我没有办法实现排序,即不能1.2.这样。。。。

到这里,所有功能的讲解已全部结束,以上讲解了我的解决方案还有自己程序的不足之处。

很显然,自己的这次开学考试并不理想,从ATM这个程序已经看出了自己的不住,以及需要改进之处。文件的读写操作需要联系,自己还是太生疏,还有一些小的地方还需改进和完善。在软件工程专业,我还有很长的路要走,也感谢老师,让我明白自己的编程技术是多么的菜。

在查看别人的博客园资料时,看到别人引用了老子的话,觉得很中二,但是也感觉有那么点认同:道可道,非常道;名可名,非常名。每个人都需要领悟,不管是程序还是人生,我现在还是有些迷茫。对人生还是没有什么太大的认识,我希望未来我也可以领悟。。。。

二.源码

  1. //信1705-3 20173579 陈阳
  2. package atm0;
  3. import java.io.IOException;
  4. import java.util.*;
  5. public class mynode {
  6.  
  7. public static void main(String[] args) throws Exception {
  8. // TODO Auto-generated method stub
  9. Scanner in =new Scanner(System.in);
  10. jiemian dang0=new jiemian();
  11. int count=0;
  12. atmbianliang dang1=new atmbianliang();
  13. atmbianliang dang2=new atmbianliang();
  14. while(true)
  15. {
  16. dang0.jiemiankaishi();
  17. String Id=in.nextLine();
  18. dang1.setAccountID(Id);
  19. dang1.bianbie();
  20. if(dang1.bianbie()==true)
  21. {
  22. dang1.bianbie2();
  23. break;
  24. }
  25. count++;
  26. if(count>2)
  27. {
  28. System.out.println("该账号三次录入错误,该卡已被系统没收,请与工行及时联系处理");
  29. break;
  30. }
  31. }
  32. while(true)
  33. {
  34. dang0.shumima();
  35. String shupassword=in.nextLine();
  36. if(dang1.bianbiemima1(shupassword)==true)
  37. {
  38. String password=dang1.getAccountpassword();
  39. if((password.equals(shupassword)))
  40. break;
  41. }
  42. System.out.println("密码输入错误,请重新输入");
  43. count++;
  44. if(count>2)
  45. {
  46. System.out.println("该账号三次录入密码错误,该卡已被系统没收,请与工行及时联系处理");
  47. break;
  48. }
  49. }
  50. String xuanze1="1";
  51. String xuanze2="2";
  52. String xuanze3="3";
  53. String xuanze4="4";
  54. String xuanze5="5";
  55. String xuanze6="q";
  56. String xuanze;
  57.  
  58. while(true)
  59. {
  60. dang1.shuzijiemian();
  61. xuanze=in.nextLine();
  62. if((xuanze.equals(xuanze1)))
  63. {
  64. dang1.cunkuan();
  65. int cunkuanshuzhi=in.nextInt();
  66. if(cunkuanshuzhi%100!=0)
  67. {
  68. System.out.println("输入金额有误,返回操作界面");
  69. }
  70. else
  71. {
  72. dang1.cunkuanshezhi(cunkuanshuzhi);
  73. dang1.cunkuanchengongjiemian();
  74. }
  75. }
  76. else if((xuanze.equals(xuanze2)))
  77. {
  78. dang1.qukuanjiemian();
  79. int qukuanxuanxiang=in.nextInt();
  80. switch(qukuanxuanxiang)
  81. {
  82. case 1:
  83. {
  84. dang1.bianbieluru(100);
  85. }break;
  86. case 2:
  87. {
  88. dang1.bianbieluru(500);
  89. }break;
  90. case 3:
  91. {
  92. dang1.bianbieluru(1000);
  93. }break;
  94. case 4:
  95. {
  96. dang1.bianbieluru(1500);
  97. }break;
  98. case 5:
  99. {
  100. dang1.bianbieluru(2000);
  101. }break;
  102. case 6:
  103. {
  104. dang1.bianbieluru(5000);
  105. }break;
  106. case 7:
  107. {
  108. System.out.print("请输入其他金额:");
  109. int luruyue=in.nextInt();
  110. dang1.bianbieluru(luruyue);
  111. }break;
  112. case 8:
  113. {
  114. System.out.println("感谢使用!");
  115. System.exit(0);
  116. }break;
  117. case 9:
  118. {
  119. break;
  120. }
  121. }
  122. }
  123. else if((xuanze.equals(xuanze3)))
  124. {
  125. dang1.zhuanzhangjiemian();
  126. String zhuanzhangzhanghu=in.nextLine();
  127. dang1.zhuanzhangzhanghupanding(zhuanzhangzhanghu);
  128. dang2.bianbie();
  129. if(dang2.bianbie()==true)
  130. {
  131. dang2.bianbie2();
  132. dang1.zhuanzhangjinejiemian();
  133. int zhuanzhangjine=in.nextInt();
  134. if(dang1.zhuanzhangbianbie(zhuanzhangjine, zhuanzhangzhanghu)==true)
  135. dang2.zhnaghu2zenyue(zhuanzhangjine);
  136. }
  137. }
  138. else if((xuanze.equals(xuanze4)))
  139. {
  140. dang1.xiugaimimajiemian();
  141. String shurumima=in.nextLine();
  142. dang1.bianbiemima(shurumima);
  143. dang1.mimacunruwenjian();
  144. dang1.mimachongxinxieru();
  145.  
  146. }
  147. else if((xuanze.equals(xuanze5)))
  148. {
  149. dang1.chaxungongneng();
  150. }
  151. else if((xuanze.equals(xuanze6)))
  152. {
  153. }
  154. }
  155.  
  156. }
  157. }
  158.  
  159. //信1705-3 20173579 陈阳
  160. package atm0;
  161. import java.io.IOException;
  162. import java.util.Date;
  163. import java.text.SimpleDateFormat;
  164. import java.io.Reader;
  165. import java.util.*;
  166. import java.io.BufferedReader;
  167. import java.io.File;
  168. import java.io.FileReader;
  169. import java.io.FileNotFoundException;
  170. import java.io.FileOutputStream;
  171. import java.io.FileWriter;
  172. import java.io.PrintStream;
  173. import java.io.PrintWriter;
  174. import java.io.RandomAccessFile;
  175. public class atmbianliang {
  176. Scanner in =new Scanner(System.in);
  177. private static String accountID;
  178. private String accountname;
  179. private String operatedate;
  180. private int operatetype;
  181. private static String accountpassword;
  182. public String getAccountname() {
  183. return accountname;
  184. }
  185. private int accountbalance;
  186. private int amount;
  187. static String[] content2=new String[6];
  188. public atmbianliang()
  189. {
  190. accountID=null;
  191. accountname=null;
  192. operatedate=null;
  193. operatetype=0;
  194. accountpassword=null;
  195. accountbalance=0;
  196. amount=0;
  197. }
  198. public void yue()
  199. {
  200. System.out.println("***************************************************************");
  201. System.out.println(" 欢迎"+accountID+"使用中国工商银行自助柜员系统 ");
  202. System.out.println("***************************************************************");
  203. System.out.println(" 当前账户存款操作成功。 ");
  204. System.out.print(" 当前账户余额为:");
  205. System.out.print(accountbalance);
  206. System.out.print("元");
  207. System.out.println("***************************************************************");
  208.  
  209. }
  210. public static String getAccountID() {
  211. return accountID;
  212. }
  213. public void setAccountID(String accountID) {
  214. this.accountID = accountID;
  215. }
  216.  
  217. public String getOperatedate() {
  218. return operatedate;
  219. }
  220. public void setOperatedate(String operatedate) {
  221. this.operatedate = operatedate;
  222. }
  223. public int getOperatetype() {
  224. return operatetype;
  225. }
  226. public void setOperatetype(int operatetype) {
  227. this.operatetype = operatetype;
  228. }
  229. public String getAccountpassword() {
  230. return accountpassword;
  231. }
  232. public void setAccountpassword(String accountpassword) {
  233. this.accountpassword = accountpassword;
  234. }
  235. public int getAccountbalance() {
  236. return accountbalance;
  237. }
  238. public void setAccountbalance(int accountbalance) {
  239. this.accountbalance = accountbalance;
  240. }
  241. public int getAmount() {
  242. return amount;
  243. }
  244. public void setAmount(int amount) {
  245. this.amount = amount;
  246. }
  247. public boolean bianbie()throws IOException //辨别账户位数
  248. {
  249. if(accountID.length()!=8)
  250. {
  251. System.out.println("该卡不是工行卡");
  252. return false;
  253. }
  254. else
  255. return true;
  256. }
  257. public boolean bianbiemima1(String ps)throws IOException //辨别密码位数
  258. {
  259. if(ps.length()!=6)
  260. {
  261. System.out.println("密码格式错误");
  262. return false;
  263. }
  264. else
  265. return true;
  266. }
  267. public void bianbie2()throws Exception //辨别账户信息
  268. {
  269. String fileContent = readFileContent("D:/accountinformation.txt");
  270. System.out.println(fileContent);
  271. }
  272. private static String readFileContent(String fileName) throws IOException {
  273. File file = new File(fileName);
  274. BufferedReader bf = new BufferedReader(new FileReader(file));
  275. String content = "";
  276. StringBuilder sb = new StringBuilder();
  277. String Idjia1=atmbianliang.getAccountID();
  278. while(content != null){
  279. content = bf.readLine();
  280. if((Idjia1.equals(content)))
  281. {
  282. System.out.println("账户正确");
  283. String zhanghumima=bf.readLine();
  284. accountpassword=zhanghumima;
  285. }
  286. if(content == null){
  287. break;
  288. }
  289. // sb.append(content.trim());
  290.  
  291. }
  292.  
  293. bf.close();
  294. System.out.println("识别账户结束");
  295. return sb.toString();
  296. }
  297. public void bianbie001()throws Exception //辨别转账账户
  298. {
  299. String fileContent2 = readFileContent2("D:/accountinformation.txt");
  300. System.out.println(fileContent2);
  301. }
  302. private static String readFileContent2(String fileName) throws IOException {
  303.  
  304. File file = new File(fileName);
  305.  
  306. BufferedReader bf = new BufferedReader(new FileReader(file));
  307.  
  308. String content = "";
  309. StringBuilder sb = new StringBuilder();
  310. String Idjia1=atmbianliang.getAccountID();
  311. while(content != null){
  312. content = bf.readLine();
  313. if((Idjia1.equals(content)))
  314. {
  315. System.out.println("账户正确");
  316. String zhanghumima=bf.readLine();
  317. accountpassword=zhanghumima;
  318. }
  319. if(content == null){
  320. break;
  321. }
  322. // sb.append(content.trim());
  323.  
  324. }
  325.  
  326. bf.close();
  327. System.out.println("识别账户结束");
  328. return sb.toString();
  329. }
  330.  
  331. public void cunkuanshezhi(int a) throws FileNotFoundException
  332. {
  333. accountbalance=accountbalance+a;
  334. cunkuanjilu(a);
  335. }
  336. public void zhuanzhangzhanghupanding(String c)
  337. {
  338. if((c.equals(accountID)))
  339. {
  340. System.out.println("账户不能是自己");
  341. }
  342. else
  343. return;
  344. }
  345. public void bianbieluru(int b)throws FileNotFoundException
  346. {
  347. if(accountbalance>=b)
  348. {
  349. accountbalance=accountbalance-b;
  350. System.out.println("***************************************************************");
  351. System.out.println(" 欢迎"+accountID+"使用中国工商银行自助柜员系统 ");
  352. System.out.println("***************************************************************");
  353. System.out.println(" 当前账户取款"+b+"元操作成功 ");
  354. System.out.println(" 当前账户余额为:"+accountbalance+"元 ");
  355. System.out.println("***************************************************************");
  356. qukuanjilu(b);
  357. }
  358.  
  359. else
  360. System.out.println("账户余额不足");
  361. }
  362. public void qukuanjilu(int a)throws FileNotFoundException //取款记录写入
  363. {
  364. String filePath = "D:/accountlist.txt";
  365. SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");//设置日期格式
  366. try
  367. {
  368. File file = new File(filePath);
  369. PrintStream qk = new PrintStream(new FileOutputStream(file));
  370. qk.append("操作日期"+df.format(new Date())+"取款 "+a+"元");
  371. }catch(FileNotFoundException e)
  372. {
  373. e.printStackTrace();
  374. }
  375. }
  376. public boolean zhuanzhangbianbie(int a,String b)throws FileNotFoundException
  377. {
  378. if(accountbalance>=a)
  379. {
  380. System.out.println("***************************************************************");
  381. System.out.println(" 欢迎"+accountID+"使用中国工商银行自助柜员系统 ");
  382. System.out.println("***************************************************************");
  383. System.out.println(" 请确认是否向"+b+"转账"+a+"元 (Y确认转账,N不转账) ");
  384. String zhuanzhangqueren=in.nextLine();
  385. if((zhuanzhangqueren.equals("Y")))
  386. {
  387. accountbalance=accountbalance-a;
  388. System.out.println("***************************************************************");
  389. System.out.println(" 欢迎"+accountID+"使用中国工商银行自助柜员系统 ");
  390. System.out.println("***************************************************************");
  391. System.out.println(" 当前账户向"+b+"成功转账"+a+"元");
  392. System.out.println(" 当前账户余额为"+accountbalance+"元");
  393. System.out.println("***************************************************************");
  394. zhuanzhangjilu(a);
  395. return true;
  396. }
  397. else
  398. {
  399. return false;
  400. }
  401.  
  402. }
  403. return false;
  404. }
  405. public void zhuanzhangjilu(int a)throws FileNotFoundException
  406. {
  407. String filePath = "D:/accountlist.txt";
  408. SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");//设置日期格式
  409. try
  410. {
  411. File file = new File(filePath);
  412. PrintStream zz = new PrintStream(new FileOutputStream(file));
  413. zz.append("操作日期"+df.format(new Date())+"转账 "+a+"元");
  414. }catch(FileNotFoundException e)
  415. {
  416. e.printStackTrace();
  417. }
  418. }
  419. public void zhnaghu2zenyue(int zz2)
  420. {
  421. accountbalance=accountbalance+zz2;
  422. }
  423. public void bianbiedangqianmima()
  424. {
  425. String dangqianmima=in.nextLine();
  426. if((dangqianmima.equals(accountpassword)))
  427. return;
  428. else
  429. System.out.println("当前密码录入错误");
  430. }
  431. public void bianbiemima(String a)
  432. {
  433. if((a.equals(accountpassword)))
  434. {
  435. String xiugaimima=in.nextLine();
  436. String querenmima=in.nextLine();
  437. if((xiugaimima.equals(querenmima)))
  438. {
  439. accountpassword=querenmima;
  440. System.out.println("***************************************************************");
  441. System.out.println(" 欢迎"+accountID+"使用中国工商银行自助柜员系统 ");
  442. System.out.println("***************************************************************");
  443. System.out.println(" 当前账户密码修改成功 ");
  444. System.out.println("***************************************************************");
  445.  
  446. }
  447. else
  448. {
  449. System.out.println(" 修改密码与确认密码不一致 ");
  450. return;
  451. }
  452. }
  453. else
  454. {
  455. System.out.println(" 当前密码录入错误 ");
  456. return;
  457. }
  458. }
  459. public void xiugaimimaluru()throws FileNotFoundException
  460. {
  461. String filePath = "D:/accountlist.txt";
  462. SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");//设置日期格式
  463. try
  464. {
  465. File file = new File(filePath);
  466. PrintStream xmm = new PrintStream(new FileOutputStream(file));
  467. xmm.append("操作日期"+df.format(new Date())+" 修改密码");
  468. }catch(FileNotFoundException e)
  469. {
  470. e.printStackTrace();
  471. }
  472. }
  473. public void mimacunruwenjian()throws Exception //将文件中的数据写出
  474. {
  475. String fileContent3 = readFileContent3("D:/accountinformation.txt");
  476. System.out.println(fileContent3);
  477. }
  478. private static String readFileContent3(String fileName) throws IOException {
  479. File file = new File(fileName);
  480. BufferedReader bf = new BufferedReader(new FileReader(file));
  481. StringBuilder sb = new StringBuilder();
  482. int zzi=0;
  483. while(zzi<6) {
  484. content2[zzi] = bf.readLine();
  485. zzi++;
  486.  
  487. }
  488. bf.close();
  489. return sb.toString();
  490. }
  491. public void mimachongxinxieru() throws FileNotFoundException //再将密码写入文件
  492. {
  493. int i=0;
  494. String filePath = "D:/accountinformation.txt";
  495. try
  496. {
  497. File file = new File(filePath);
  498. PrintStream ps = new PrintStream(new FileOutputStream(file));
  499. while(i<6)
  500. {
  501.  
  502. ps.println(content2[i]);
  503. if((content2[i].equals(accountID)))
  504. ps.println(accountpassword);
  505. i++;
  506. }
  507.  
  508. }catch(FileNotFoundException e)
  509. {
  510. e.printStackTrace();
  511. }
  512. }
  513. public void cunkuanjilu(int a)throws FileNotFoundException //存款记录记录
  514. {
  515. String filePath = "D:/accountlist.txt";
  516. SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");//设置日期格式
  517.  
  518. try
  519. {
  520. File file = new File(filePath);
  521. PrintStream ck = new PrintStream(new FileOutputStream(file));
  522. ck.append("操作日期"+df.format(new Date())+"存款 "+a+"元");
  523. }catch(FileNotFoundException e)
  524. {
  525. e.printStackTrace();
  526. }
  527.  
  528. }
  529.  
  530. public void cunkuan() //存款界面
  531. {
  532. System.out.println("***************************************************************");
  533. System.out.println(" 欢迎"+accountID+"使用中国工商银行自助柜员系统 ");
  534. System.out.println("***************************************************************");
  535. System.out.println(" 请输入存款金额; ");
  536. System.out.println("***************************************************************");
  537. }
  538. public void shuzijiemian()
  539. {
  540. System.out.println("***************************************************************");
  541. System.out.print(" 欢迎");
  542. System.out.print(accountID);
  543. System.out.println("使用中国工商银行自助柜员系统 ");
  544. System.out.println("***************************************************************");
  545. System.out.println(" 1.存款 ");
  546. System.out.println(" 2.取款 ");
  547. System.out.println(" 3.转账汇款 ");
  548. System.out.println(" 4.修改密码 ");
  549. System.out.println(" 5.查询余额 ");
  550. System.out.println("***************************************************************");
  551. }
  552. public void cunkuanchengongjiemian()
  553. {
  554. System.out.println("***************************************************************");
  555. System.out.println(" 欢迎"+accountID+"使用中国工商银行自助柜员系统 ");
  556. System.out.println("***************************************************************");
  557. System.out.println(" 当前账户存款操作成功 ");
  558. System.out.println(" 当前账户余额为:"+accountbalance+"元 ");
  559. System.out.println("***************************************************************");
  560. }
  561. public void qukuanjiemian()
  562. {
  563. System.out.println("***************************************************************");
  564. System.out.println(" 欢迎"+accountID+"使用中国工商银行自助柜员系统 ");
  565. System.out.println("***************************************************************");
  566. System.out.println(" 当前账户每日可以支取2万元 ");
  567. System.out.println(" 1、100元 ");
  568. System.out.println(" 2、500元 ");
  569. System.out.println(" 3、1000元 ");
  570. System.out.println(" 4、1500元 ");
  571. System.out.println(" 5、2000元 ");
  572. System.out.println(" 6、5000元 ");
  573. System.out.println(" 7、其他金额 ");
  574. System.out.println(" 8、退卡 ");
  575. System.out.println(" 9、返回 ");
  576. System.out.println("***************************************************************");
  577. }
  578. public void zhuanzhangjiemian()
  579. {
  580. System.out.println("***************************************************************");
  581. System.out.println(" 欢迎"+accountID+"使用中国工商银行自助柜员系统 ");
  582. System.out.println("***************************************************************");
  583. System.out.println(" 请输入转账账户 ");
  584. System.out.println("***************************************************************");
  585. }
  586. public void zhuanzhangjinejiemian()
  587. {
  588. System.out.println("***************************************************************");
  589. System.out.println(" 欢迎"+accountID+"使用中国工商银行自助柜员系统 ");
  590. System.out.println("***************************************************************");
  591. System.out.println(" 请输入转账金额 ");
  592. System.out.println("***************************************************************");
  593. }
  594. public void xiugaimimajiemian()
  595. {
  596. System.out.println("***************************************************************");
  597. System.out.println(" 欢迎"+accountID+"使用中国工商银行自助柜员系统 ");
  598. System.out.println("***************************************************************");
  599. System.out.println(" 请输入当前密码: ");
  600. System.out.println(" 请输入修改密码: ");
  601. System.out.println(" 请输入确认密码: ");
  602. System.out.println("***************************************************************");
  603. }
  604. public void chaxungongneng()
  605. {
  606. System.out.println("***************************************************************");
  607. System.out.println(" 欢迎"+accountID+"使用中国工商银行自助柜员系统 ");
  608. System.out.println("***************************************************************");
  609. System.out.println(" 当前账户余额为:"+accountbalance+"元 ");
  610. System.out.println(" 账户清单信息为: ");
  611. System.out.println("***************************************************************");
  612.  
  613. }
  614. }
  615.  
  616. package atm0;
  617. public class jiemian {
  618. public void jiemiankaishi()
  619. {
  620. System.out.println("***************************************************************");
  621. System.out.println(" 欢迎使用中国工商银行自动柜员系统 ");
  622. System.out.println("***************************************************************");
  623. System.out.println(" 请输入您的账号: ");
  624. System.out.println("***************************************************************");
  625. }
  626. public void shumima()
  627. {
  628. System.out.println("***************************************************************");
  629. System.out.println(" 欢迎使用中国工商银行自动柜员系统 ");
  630. System.out.println("***************************************************************");
  631. System.out.println(" 请输入您的密码: ");
  632. System.out.println("***************************************************************");
  633. }
  634. }

java开学考试有感以及源码的更多相关文章

  1. 图解 Java IO : 二、FilenameFilter源码

    Writer      :BYSocket(泥沙砖瓦浆木匠) 微         博:BYSocket 豆         瓣:BYSocket FaceBook:BYSocket Twitter   ...

  2. 驾照理论模拟考试系统Android源码下载

    ‍‍‍驾照理论模拟考试系统Android源码下载 <ignore_js_op> 9.png (55.77 KB, 下载次数: 0) <ignore_js_op> 10.png ...

  3. java多线程系列(九)---ArrayBlockingQueue源码分析

    java多线程系列(九)---ArrayBlockingQueue源码分析 目录 认识cpu.核心与线程 java多线程系列(一)之java多线程技能 java多线程系列(二)之对象变量的并发访问 j ...

  4. Java集合系列[4]----LinkedHashMap源码分析

    这篇文章我们开始分析LinkedHashMap的源码,LinkedHashMap继承了HashMap,也就是说LinkedHashMap是在HashMap的基础上扩展而来的,因此在看LinkedHas ...

  5. Java并发系列[2]----AbstractQueuedSynchronizer源码分析之独占模式

    在上一篇<Java并发系列[1]----AbstractQueuedSynchronizer源码分析之概要分析>中我们介绍了AbstractQueuedSynchronizer基本的一些概 ...

  6. Java并发系列[3]----AbstractQueuedSynchronizer源码分析之共享模式

    通过上一篇的分析,我们知道了独占模式获取锁有三种方式,分别是不响应线程中断获取,响应线程中断获取,设置超时时间获取.在共享模式下获取锁的方式也是这三种,而且基本上都是大同小异,我们搞清楚了一种就能很快 ...

  7. Java并发系列[5]----ReentrantLock源码分析

    在Java5.0之前,协调对共享对象的访问可以使用的机制只有synchronized和volatile.我们知道synchronized关键字实现了内置锁,而volatile关键字保证了多线程的内存可 ...

  8. 【JVM】深度分析Java的ClassLoader机制(源码级别)

    原文:深度分析Java的ClassLoader机制(源码级别) 为了更好的理解类的加载机制,我们来深入研究一下ClassLoader和他的loadClass()方法. 源码分析 public abst ...

  9. Java并发工具类CountDownLatch源码中的例子

    Java并发工具类CountDownLatch源码中的例子 实例一 原文描述 /** * <p><b>Sample usage:</b> Here is a pai ...

随机推荐

  1. HBuilder的扩展插件开发暴露了一个事实:其实不能实现写一次代码实现跨平台App生成

    HBuilder的扩展插件开发,原来并不能生成单独的插件jar,而是以源码 - 类的形式进行开发,这其实就要求必须使用离线打包. 事实上,开发顺序应该是:先弄好离线打包框架,然后在AS里进行扩展插件开 ...

  2. jPlayer获取播放时间

    关于jPlayer的用法,可以参考:jPlayer 2.6.0开发者手册 http://www.jplayer.cn/developer-guide.html 视频播放例子: //视频播放 var v ...

  3. [web前端] css3 transition属性实现3d动画效果

    cp from : https://www.cnblogs.com/chrxc/p/5123375.html transition属性是一个很强大的3d动画属性,我动手试了一下,很多在网上很火的网页动 ...

  4. 关闭windows10更新

    除了能够禁用Windows自动更新外,还能一键禁用Windows安全中心.Windows Defender.Windows防火墙. 下载地址 https://files.cnblogs.com/fil ...

  5. mac双系统下ubuntu卡在开机密码登录界面卡死

    背景:开机黑屏卡在,dev/sda1: clean, 552599/6111232 files, 7119295/24414464 blocks,修复完这个问题之后,出现桌面卡死,光标鼠标键盘全部失灵 ...

  6. CSS 小技巧(不定时更新)

    1.Web 文本中的省略号 在Web开发中,对于一种情况很常见.那就是,文本太长,而放置文本的容器不够长,而我们又不想让文本换行,所以,我们想使用省略号来解决这个问题.在今天HTML的标准中并没有相关 ...

  7. 阿里云物联网平台体验(树莓派+Python篇)

    阿里云物联网平台体验(树莓派+Python篇) 虽然对阿里云物联网平台比较熟悉了,从一开始就有幸参与了飞凤平台(Link Develop 一站式开发平台的前身)的一些偏硬件接入的工作.但是同时也见证了 ...

  8. easyui textbox 获取焦点

    function Admin_ListAdd() { $('#ListInfo').css({ display: "inherit" }); $("#Department ...

  9. php5.6.11编译安装报错configure: error: Don't know how to define struct flock on this system

    centos 6.8 32位系统下,安装php.5.6.11是出现这个错误 解决办法: 1 2 3 4 vim /etc/ld.so.conf.d/local.conf     # 编辑库文件 /us ...

  10. Android 6.0 动态权限申请注意事项

    版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/uana_777/article/details/54136255 Part One 权限区分 And ...