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- ...
随机推荐
- Typora 图片上传
Typora 图片上传 本文借鉴源于:https://zhuanlan.zhihu.com/p/137426939 感谢博主分享 引: 不知道你们平时都在哪里做笔记,本人都是在CSDN Java慈祥 ...
- 公司内部一次关于kafka消息队列消费积压故障复盘分享
背景现象 1.20晚上8点业务线开始切换LBS相关流量,在之后的1个小时时间内,积压量呈上升趋势,一路到达50W左右,第二天的图没贴出具体是50W数字,以下是第一天晚上的贴图部分. 现象一: 现象二: ...
- golang汇总gomodules的初始化与改变模块的依赖关系
1. gomodules的初始化 2. 改变模块的依赖关系
- Servlet-整个Servlet类的继承体系
- Shell 脚本进阶,经典用法及其案例
一.条件选择.判断 1.条件选择if (1)用法格式 if 判断条件 1 ; then 条件为真的分支代码 elif 判断条件 2 ; then 条件为真的分支代码 elif 判断条件 3 ; the ...
- 如何快速写出高质量的 Go 代码?
前言 团队协作开发中,必然存在着不同的代码风格,并且诸如 http body close,unhandled error 等低级错误不能完全避免.通过使用 ci lint 能够及早的发现并修复问题,提 ...
- checklist 编写指南
checklist 编写工具 checklist文档格式推荐使用思维导图.比如 MindMaster 和 processon.我喜欢用这些平台或者软件的思维导图大纲模式来编写 checklist. c ...
- vivo直播应用技术实践与探索
一.概述 2019年vivo直播平台立项,初期与优秀的顶部直播平台进行联运直播开发,进行市场,产品和技术的初步探索:再到后来为了丰富直播的内容和形式,开始自己独立探索:之后,我们结合vivo现阶段的直 ...
- 【源码】Redis命令处理过程
本文基于社区版Redis 4.0.8 1.命令解析 Redis服务器接收到的命令请求首先存储在客户端对象的querybuf输入缓冲区,然后解析命令请求的各个参数,并存储在客户端对象的argv和ar ...
- Vuex 状态管理的工作原理
Vuex 状态管理的工作原理 为什么要使用 Vuex 当我们使用 Vue.js 来开发一个单页应用时,经常会遇到一些组件间共享的数据或状态,或是需要通过 props 深层传递的一些数据.在应用规模较小 ...