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条)

报告相同问题?

悬赏问题

  • ¥15 在若依框架下实现人脸识别
  • ¥15 网络科学导论,网络控制
  • ¥100 安卓tv程序连接SQLSERVER2008问题
  • ¥15 利用Sentinel-2和Landsat8做一个水库的长时序NDVI的对比,为什么Snetinel-2计算的结果最小值特别小,而Lansat8就很平均
  • ¥15 metadata提取的PDF元数据,如何转换为一个Excel
  • ¥15 关于arduino编程toCharArray()函数的使用
  • ¥100 vc++混合CEF采用CLR方式编译报错
  • ¥15 coze 的插件输入飞书多维表格 app_token 后一直显示错误,如何解决?
  • ¥15 vite+vue3+plyr播放本地public文件夹下视频无法加载
  • ¥15 c#逐行读取txt文本,但是每一行里面数据之间空格数量不同