h321j622 2012-03-26 21:31
浏览 269
已采纳

各位大哥 、大姐 请教 Java 的小问题1-1

需求说明

(1)登录时提示用户输入用户名和密码。
(2)验证用户名和密码的正确性
(3)系统提供用户有 3 次机会输入用户名和密码,如果超过 3 次仍不能匹配,程序结束。
(4)根据 3 种匹配结果(信息匹配 / 信息不匹配 / 3 次都不匹配),执行不同的操作

  1. 信息完全匹配 输入“欢迎进入我行我素购物管理系统”
  2. 信息不匹配 计算剩余次数,输出“用户名和密码不匹配!”,告知还有几次机会,提示“请重新输入”
  3. 3 次不匹配 输入“您没有全线进入系统!” (5)声明变量username和password,分别存储系统中正确的用户名和密码,声明变量name和pw,分别从控制台获取输入的用户名和密码, (6)使用for循环结构,计数器 从3开始递减直到 为1, -1表示剩余的次数。

// 从键盘接受用户名和密码
// 进行判断

(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 此机会 (可不可以不让它显示)直接显示(你没有权限进入系统/程序错误)啊

  • 写回答

3条回答 默认 最新

  • iteye_20158 2012-03-26 22:08
    关注

    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时,后还没走完的代码:
    你没有权限进入系统!
    程序结束!

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

悬赏问题

  • ¥20 keepalive配置业务服务双机单活的方法。业务服务一定是要双机单活的方式
  • ¥50 关于多次提交POST数据后,无法获取到POST数据参数的问题
  • ¥15 win10,这种情况怎么办
  • ¥15 如何在配置使用Prettier的VSCode中通过Better Align插件来对齐等式?(相关搜索:格式化)
  • ¥100 在连接内网VPN时,如何同时保持互联网连接
  • ¥15 MATLAB中使用parfor,矩阵Removal的有效索引在parfor循环中受限制
  • ¥20 Win 10 LTSC 1809版本如何无损提升到20H1版本
  • ¥50 win10 LTSC 虚拟键盘不弹出
  • ¥30 微信小程序请求失败,网页能正常带锁访问
  • ¥15 Matlab求解微分方程,如何用fish2d进行预优?