需求说明
(1)登录时提示用户输入用户名和密码。
(2)验证用户名和密码的正确性
(3)系统提供用户有 3 次机会输入用户名和密码,如果超过 3 次仍不能匹配,程序结束。
(4)根据 3 种匹配结果(信息匹配 / 信息不匹配 / 3 次都不匹配),执行不同的操作
// 从键盘接受用户名和密码
// 进行判断
(7)使用多重 结构进行判断并执行相应的操作,
(8)break 语句的作用:立刻跳出整个循环结构
import java.util.*;
public class PswVerjfy1{
public static void main(String[]args){
String username = " "; // 用户名
String password = " "; // 密码
boolean wrong = true;
Scanner input = new Scanner(System.in);
for(int i = 3; i >= 1; i--){
System.out.print("用户名:");
username = input.next();
System.out.print("密码:");
password = input.next();
if(username.equals("manage") && password.equals("0000") ){
System.out.println("购物管理系统");
wrong = false;
break;
}
if(wrong){
System.out.println("\n用户名和密码不匹配!");
System.out.println("你还有"+(i-1)+"次机会,请重新输入:");
}else{
System.out.println("你没有权限进入系统!");
}
}
System.out.println("程序结束!");
}
}
我执行的时候 输入三次错误 怎么不显示“你没有权限进入系统”还有输入错误3次以后 她还显示 你好有 0 此机会 (可不可以不让它显示)直接显示(你没有权限进入系统/程序错误)啊
public class PswVerjfy1 {
public static void main(String[] args) {
String username = " "; // 用户名
String password = " "; // 密码
boolean wrong = true;
Scanner input = new Scanner(System.in);
for(int i = 3; i >= 1; i--){
System.out.print("用户名:");
username = input.next();
System.out.print("密码:");
password = input.next();
if(username.equals("manage") && password.equals("0000") ){
System.out.println("购物管理系统");
wrong = false;
break;
}
if(wrong[b][color=red] && i > 1[/color][/b]){
System.out.println("\n用户名和密码不匹配!");
System.out.println("你还有"+(i-1)+"次机会,请重新输入:");
}else{
System.out.println("你没有权限进入系统!");
}
}
System.out.println("程序结束!");
}
}
运行结果给你:
-------------当i==3时:
用户名:sa
密码:sa
---------------当i==2时:
用户名和密码不匹配!
你还有2次机会,请重新输入:
用户名:sa
密码:sa
------------------------当i==1时:
用户名和密码不匹配!
你还有1次机会,请重新输入:
用户名:sa
密码:sa
//这里是当i==1时,后还没走完的代码:
你没有权限进入系统!
程序结束!
lz的思路不清晰,导致没有找到问题的所在
for(int i = 2; i >=0; i--){
if(i!=0){还有 i次机会}
else{无权登录,程序退出}