代码

点击查看【ForTest2.java】代码
//package com.d;

import java.util.Scanner;

/**
* for循环例子2
* @date: 2022.2.24
* 用户登录验证,上限3次。
* */ public class ForTest2 {
public static void main(String[] args) {
// 举例用户信息
String username = "admin";//用户名
String pad = "123";//密码
int sum = 3; //限定3次账户密码试错的机会,sum--; sum < 1; break; // 模拟用户登录
Scanner input = new Scanner(System.in);
// 验证用户名
System.out.print("欢迎使用Windows系统,请输入用户名:");
for (;;){ //死循环的另一种写法
if (sum < 1) break;// 及时检查试错次数,并终止循环 String putuser = input.next();
if (username.equals(putuser)){ //用 String.equals(); 比较两个字符串是否相同。
// 用户名对了,才有权限验证密码
System.out.print("请输入密码:");
for (;;){
if (sum < 1) break;// 及时检查试错次数,并终止循环 String putpad = input.next();
if (pad.equals(putpad)){
System.out.println("用户:【"+ putuser +"】登录成功!");
break;//登录成功!跳出死循环
}else {
sum--;//试错计数
if (sum!=0) System.out.print("密码不对!只剩【"+ sum +"】次机会了,请重新输入:");
if (sum == 0) System.out.println("您无权访问,请稍后再试!");
continue;//密码不对,进入下一循环
}
}
}else {
sum--;//试错计数
if (sum!=0) System.out.print("没有该用户,只剩【"+ sum +"】次机会了,请重新输入:");
if (sum == 0) System.out.println("您无权访问,请稍后再试!");
continue;//用户名不对,进入下一循环
}
// 如果一切顺利,输入用户名密码后程序会执行到这里,还得手动跳出死循环
break;
} }
}

运行

String username = "admin";//用户名

String pad = "123";//密码


欢迎使用Windows系统,请输入用户名:zhangsan

没有该用户,只剩【2】次机会了,请重新输入:admin

请输入密码:666

密码不对!只剩【1】次机会了,请重新输入:123

用户:【admin】登录成功!


欢迎使用Windows系统,请输入用户名:lisi

没有该用户,只剩【2】次机会了,请重新输入:admin

请输入密码:888

密码不对!只剩【1】次机会了,请重新输入:999

您无权访问,请稍后再试!

最新文章

  1. C 语言中 malloc、calloc、realloc 和free 函数的使用方法
  2. 使用C#给Linux写Shell脚本(下篇)
  3. Mybatis传参数
  4. 安装php扩展
  5. Vim保存只读模式下的修改
  6. TCP的几个状态
  7. SQL SERVER 修改数据库名称(包括 db.mdf 名称的修改)
  8. 【JAVA、C++】LeetCode 020 Valid Parentheses
  9. flex开发小技巧集锦
  10. html笔记 横向两列布局
  11. pscp实现Windows 和Linux 文件互相传输
  12. NOIP2015 提高组(senior) 解题报告
  13. -_-#【CSS】注释
  14. JGroups 入门实践(转)
  15. C语言之break和continue
  16. &quot;The Application was unable to start correctly (0xc000007b). Click OK to close the application&quot;
  17. vue2.0组件通信小总结
  18. 【面试】足够应付面试的Spring事务源码阅读梳理(建议珍藏)
  19. 基于python的OpenCV图像1
  20. Python机器学习笔记:sklearn库的学习

热门文章

  1. @WebServlet注解(Servlet注解)
  2. 集合框架-ArrayList集合存储自定义对象
  3. linux移动文件与删除文件
  4. ES6之async与await
  5. FreeSWITCH 1.10.7 编译(debian 11)
  6. LeetCode.241
  7. 回顾 2021 中国 .NET 开发者峰会
  8. UIImageView的序列帧动画
  9. ARC下的内存管理
  10. python基础1-类属性和实例属性