for循环例子2
代码
点击查看【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
您无权访问,请稍后再试!
for循环例子2的更多相关文章
- for循环例子1、2、3
/* Name:for循环例子1.2.3 Copyright: By.不懂网络 Author: Yangbin Date:2014年2月12日 02:12:41 Description:该代码用来熟悉 ...
- for循环 例子
<script type="text/javascript"> //循环 for循环 //循环操作某一个功能(执行某段代码) //四要素 1.循环初始值 2.循环条件 ...
- for循环例子
代码 点击查看[ForTest.java]代码 //package com.d; import java.util.Scanner; /** * For循环例子 * @date: 2022.2.24 ...
- C--控制语句循环例子
C的三种循环while.for和do while 先说一下scanf()函数的返回值问题 当scanf("%d,%d",&a,&b);如果用户正确输入了俩个整形变 ...
- 两个for循环例子
var i,j; var a=0; // for(i=0,j=0;i<5,j<7;i++,j++){ // a=i+j; // } // alert(a) //12 for(i=0,j=0 ...
- 21. oracle游标循环例子
事例1: create or replace procedure sp_addProjectQj( ret out number, flowid in number --流程Id) ascursor ...
- sikuli for循环例子
hover("fiE.png")for x in range(99): type('p',KEY_CTRL) wait("HEIHEUULEWW5.png") ...
- vue for 循环例子 2
demo <!DOCTYPE html> <html lang="en"> <head> <meta charset="utf- ...
- Vue for循环 例子
demo <!DOCTYPE html> <html lang="en"> <head> <meta charset="utf- ...
随机推荐
- hdfs文件导入到hive(带资源)
前言 hive是基于Hadoop的一个数据仓库工具,用来进行数据提取.转化.加载,这是一种可以存储.查询和分析存储在Hadoop中的大规模数据的机制.hive数据仓库工具能将结构化的数据文件映射为一张 ...
- 三张图秒懂Redis集群设计原理
转载Redis Cluster原理 转载https://blog.csdn.net/yejingtao703/article/details/78484151 redis集群部署方式: 单机 主从 r ...
- Android 12(S) 图形显示系统 - 应用建立和SurfaceFlinger的沟通桥梁(三)
1 前言 上一篇文章中我们已经创建了一个Native示例应用,从使用者的角度了解了图形显示系统API的基本使用,从这篇文章开始我们将基于这个示例应用深入图形显示系统API的内部实现逻辑,分析运作流程. ...
- gin源码解读2-揭开gin的神秘面纱
数据如何在gin中流转 func main() { gin.SetMode(gin.DebugMode) // 设置为开发模式 router := gin.Default() _ = router.S ...
- 返回值Student-Json
MyController中 index.jsp 修改url
- ansible roles实践——安装httpd
1. vim httpd.yml 2.执行
- TensorFlow 机器学习秘籍中文第二版·翻译完成
原文:TensorFlow Machine Learning Cookbook 协议:CC BY-NC-SA 4.0 不要担心自己的形象,只关心如何实现目标.--<原则>,生活原则 2.3 ...
- ApacheCN Pandas 教程集
Pandas 秘籍 零.前言 一.Pandas 基础 二.数据帧基本操作 三.开始数据分析 四.选择数据子集 五.布尔索引 六.索引对齐 七.分组以进行汇总,过滤和转换 八.将数据重组为整齐的表格 九 ...
- Pandas 秘籍·翻译完成
协议:CC BY-NC-SA 4.0 欢迎任何人参与和完善:一个人可以走的很快,但是一群人却可以走的更远. 在线阅读 ApacheCN 面试求职交流群 724187166 ApacheCN 学习资源 ...
- CF Round #530 Div2
A. 尛你 \(\%\%\%\) B. 题意:你需要在平面上画 \(n(n \le 10 ^ 9)\) 个 \(1 \times 1\) 的正方形,且顶点都在整点上,每次可以画一条长度为 \(1\) ...