A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

黄秋 黑马帝 2012-5-31 02:50:43
21#
  1. import java.util.Scanner;
  2. import java.util.Timer;
  3. import java.util.TimerTask;

  4. /*
  5. *  需求:
  6. *         我有一个账号和密码都是:admin
  7. *
  8. *  我从键盘输入账号和密码,如果成功,则提示登录成功,结束程序
  9. *  如果我输入的次数超过3次,则提示账号被冻结,并退出系统 System.exit(0);
  10. */
  11. public class Test {

  12.         /**
  13.          * @param args
  14.          */
  15.         static int cishu = 3;// 帐号次数
  16.         static int sum = 3;// 密码输入次数

  17.         public static void main(String[] args) {

  18.                 // TODO Auto-generated method stub
  19.                 String ID = "admin";
  20.                 String password = "admin";

  21.                 show(ID, password);
  22.         }

  23.         public static void show(String ID, String password) {
  24.                 // 判断密码条件
  25.                 Scanner scanner = new Scanner(System.in);
  26.                 for (int m = cishu; m > 0;) {
  27.                         System.out.println("请输入你的账号");
  28.                         String st1 = scanner.nextLine();
  29.                         // 判断帐号是否符合
  30.                         if (ID.compareTo(st1) == 0) {

  31.                                 for (int i = sum; i > 0;) {
  32.                                         System.out.println("请输入您的密码");
  33.                                         String st2 = scanner.nextLine();
  34.                                         // 判断密码是否符合
  35.                                         if (password.compareTo(st2) == 0) {
  36.                                                 System.out.println("登陆成功");
  37.                                                 System.exit(0);
  38.                                         } else {

  39.                                                 i--;// 如果输入次数超过,退出
  40.                                                 if (i == 0) {
  41.                                                         System.out.println("账号被冻结,请携带身份证去所在银行解冻");
  42.                                                         System.exit(0);

  43.                                                 }
  44.                                                 // 继续循环
  45.                                                 System.out.println("还有" + i + "次机会");
  46.                                                 continue;
  47.                                         }
  48.                                 }

  49.                         } else {
  50.                                 m--;
  51.                                 if (m != 0) {
  52.                                         System.out.println("帐号不正确,请重新输入");
  53.                                 } else {
  54.                                         System.out.println("输入帐号错误" + cishu + "次,请稍后再试");
  55.                                         System.out.println("请过5秒,再来登录");
  56.                                         try{Thread.sleep(5000);}catch(Exception e){}
  57.                                                                                 m =cishu;
  58.                                                                                 continue;                                                                               
  59.                                 }

  60.                         }

  61.                 }
  62.         }

  63. }
复制代码
回复 使用道具 举报

回帖奖励 +1 黑马币

小手一抖 金币到手
回复 使用道具 举报
Akm 发表于 2012-5-30 19:20
突然看到这还是 有奖励分的帖子 这楼主太坑人了也  中奖概率才 10% 。。。比中彩票的概率都低。。。。[qq]1 ...

比中彩票的概率都低。。。。
同感!
回复 使用道具 举报
刘蕴学 发表于 2012-5-30 23:15
我的想法是一种休眠主线程,一种用前台线程达到条件死锁,之后用守护线程在规定时间之后唤醒他

还有一种办 ...

试过很多办法,或许这涉及到底层,无法让控制台停止输入,即使sleep,在控制台随便按,虽然在限制时间没效果,但是,过了时间,依旧会出现之前按的

点评

不过貌似这种也达不到秒杀控制台的办法,关闭输入流?让控制台wait?我这边没忙的要死,忙完了给你试试  发表于 2012-6-2 00:18
你试试控制台类System.console().reader();和writer方法的流来输入输出,别直接用in 和out  发表于 2012-6-2 00:15
回复 使用道具 举报
龚正军 发表于 2012-5-31 02:46
多数情况都是输入次数到达后,就自动停止登录动作这类要求来得多吧??

楼主这样要求输入3次错误后还要求 ...

呵呵   :P
回复 使用道具 举报
学习了!
回复 使用道具 举报
问题是这样的,我希望输入密码错误超过指定次数后,让程序停在那
时间到了,才能输入
回复 使用道具 举报
来看看,有奖励吗
回复 使用道具 举报
               
回复 使用道具 举报

回帖奖励 +1 黑马币

这段代码我得研究一会儿
回复 使用道具 举报
12
您需要登录后才可以回帖 登录 | 加入黑马