m0_65756718 2022-09-10 11:50 采纳率: 100%
浏览 63
已结题

后面的运行不出来 大lao帮帮我🤡

一、登录程序修改
运行程序后,控制台出现菜单
1.注册 2.登录

根据用户输入,进入相应界面:

1)注册功能:
允许用户输入用户名,密码后,存储在 两个数组中,用户数组、密码数组。并提示:注册成功!

2)登录功能:
根据用户输入的用户名,密码,在用户名、密码数组中查找(注意,两者下标应一致),如果存在相同的,提示登录成功,并提示:
a.修改密码 b.退出程序

根据用户选择,如a 可允许用户输入新密码,并进行数组中的替换,并提示密码修改成功;如b 直接退出程序。

注意:密码在输入过程中,用户可不考虑大小写,注意字符串的转换。

package lv;
import java.util.Scanner;
public class DD {

public static void main(String[] args) {
    // TODO Auto-generated method stub
    String[] usernames = new String[3];
    String[] pswords = new String[3];
    usernames[0] = "lvlv";
    pswords[0] = "123456";
    while(true) {
        System.out.println("1.注册");
        System.out.println("2.登录");
        Scanner sc =new Scanner(System.in);
        int input =sc.nextInt();
        if(1==input) {
            System.out.println("请输入用户名:");
            String user =sc.next();
            System.out.println("请输入密码:");
            String userPassword =sc.next();
            for(int i=0;i<usernames.length;i++) {
                if(usernames[i]==null) {
                    usernames[i]=user;
                    pswords[i]=userPassword.toLowerCase();
                    System.out.println("注册成功!");
                    break;
                }
                else {
                    continue;
                }
            }
        }else if(2==input) {
            System.out.println("请输入用户名:");
            String user =sc.next();
            System.out.println("请输入密码:");
            String userPassword =sc.next();
            boolean flag=false;
            for(int i=0;i<usernames.length;i++) {
                if("user".equals(usernames[i])&&("userPassword".equals(userPassword.toLowerCase()))) {
                    System.out.println("3修改密码");
                    System.out.println("4退出");
                    int Input3=sc.nextInt();
                    flag=true;
                    if(3==Input3) {
                         System.out.println("请输入新密码:");
                         String changePassword=sc.next();
                         pswords[i]=changePassword.toLowerCase();
                         System.out.println("密码修改成功");
                         break;
                         
                     }else {
                         break;
                     }
                     
                }
        }
        if(!flag){
            System.out.println("用户名密码错误");
        }
        
        }else {
            System.out.println("您的输入有错误");
        }
    }
}

}

  • 写回答

1条回答 默认 最新

  • a5156520 2022-09-10 12:22
    关注

    把判断登录密码是否正确那里改一下即可, if("user".equals(usernames[i])&&("userPassword".equals(userPassword.toLowerCase()))) 里面的"user"改为user, "userPassword"改为userPassword,userPassword改为pswords[i]即可,因为是拿获取的用户名和密码和存储在用户名数组和密码数组里面的字符串相比较。修改如下:

    
    import java.util.Scanner;
    public class DD {
    
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        String[] usernames = new String[3];
        String[] pswords = new String[3];
        usernames[0] = "lvlv";
        pswords[0] = "123456";
        while(true) {
            System.out.println("1.注册");
            System.out.println("2.登录");
            Scanner sc =new Scanner(System.in);
            int input =sc.nextInt();
            if(1==input) {
                System.out.println("请输入用户名:");
                String user =sc.next();
                System.out.println("请输入密码:");
                String userPassword =sc.next();
                for(int i=0;i<usernames.length;i++) {
                    if(usernames[i]==null) {
                        usernames[i]=user;
                        pswords[i]=userPassword.toLowerCase();
                        System.out.println("注册成功!");
                        break;
                    }
                    else {
                        continue;
                    }
                }
            }else if(2==input) {
                System.out.println("请输入用户名:");
                String user =sc.next();
                System.out.println("请输入密码:");
                String userPassword =sc.next();
                boolean flag=false;
                for(int i=0;i<usernames.length;i++) {
                    if(user.equals(usernames[i])&&(userPassword.equals(pswords[i].toLowerCase()))) {
                        System.out.println("3修改密码");
                        System.out.println("4退出");
                        int Input3=sc.nextInt();
                        flag=true;
                        if(3==Input3) {
                             System.out.println("请输入新密码:");
                             String changePassword=sc.next();
                             pswords[i]=changePassword.toLowerCase();
                             System.out.println("密码修改成功");
                             break;
                             
                         }else {
                             break;
                         }
                         
                    }
            }
            if(!flag){
                System.out.println("用户名密码错误");
            }
            
            }else {
                System.out.println("您的输入有错误");
            }
        }
    }
    }
    
    

    img

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录

报告相同问题?

问题事件

  • 系统已结题 9月18日
  • 已采纳回答 9月10日
  • 创建了问题 9月10日

悬赏问题

  • ¥50 求一位精通京东相关开发的专家
  • ¥100 求懂行的大ge给小di解答下!
  • ¥15 pcl运行在qt msvc2019环境运行效率低于visual studio 2019
  • ¥15 MAUI,Zxing扫码,华为手机没反应。可提高悬赏
  • ¥15 python运行报错 ModuleNotFoundError: No module named 'torch'
  • ¥100 华为手机私有App后台保活
  • ¥15 sqlserver中加密的密码字段查询问题
  • ¥20 有谁能看看我coe文件到底哪儿有问题吗?
  • ¥20 我的这个coe文件到底哪儿出问题了
  • ¥15 matlab使用自定义函数时一直报错输入参数过多