jiff13931059517 2016-08-17 06:24 采纳率: 50%
浏览 947
已采纳

谁能帮我在这个代码中添加一项功能

我是一名刚刚接触java编程的初学者,老师让我们自己做一个项目,我做了一个简单的小项目,但我想在下面的这个项目中实现当没有注册用户名时,不能登陆;还有,在修改角色资料时,角色id和角色昵称能够一起修改,下面的代码只能实现修改角色昵称。还请各位大神帮帮忙,十分感谢!
package longhun;

import java.util.Scanner;
/**

  • @author
  • @date
  • @desc 龙魂觉醒游戏 */ public class LongHun {

static Scanner input = new Scanner(System.in);
//创建用户名和密码的数组
static String[] username = new String[50];
static String[] password = new String[50];
//创建游戏角色id和昵称的数组
static String[] idNos = new String[5];
static String[] idNames = new String[5];
//游戏角色的创建保存
static int idCount =0;

public static void main(String[] args) {

    System.out.println("* * * * * * * * * * * *");
    System.out.println("*                     *");
    System.out.println("*                     *");
    System.out.println("*                     *");
    System.out.println("*    龙魂觉醒欢迎您   *");
    System.out.println("*                     *");
    System.out.println("*                     *");
    System.out.println("*                     *");
    System.out.println("* * * * * * * * * * * *");

    do{
        System.out.println("1.登陆  2.注册  3.退出登陆");
        System.out.println("请输入数字进行操作:");
        String menu = input.next();
        if(menu.matches("\\d")){
            if(menu.equals("1")){
                boolean boo=login();
                if(boo=true){
                    System.out.println("登陆成功,欢迎您");
                    break;
                }else{
                    System.out.println("用户名或密码输入错误,请重新输入:");
                }
            }else if(menu.equals("2")){
                register();
                System.out.println("注册成功,请登录");
            }else if(menu.equals("3")){
                System.out.println("游戏已退出");
                System.exit(-1);
            }
        }else{
            System.out.println("输入的非数字,请重新输入");
        }
    }while(true);

    while(true){
    System.out.println("=====================================================================");
    System.out.println("1:创建角色 2:查看角色资料 3:修改角色资料 4:删除角色 5:注销该角色");
    System.out.println("=====================================================================");
    System.out.println("请输入数字进行选择:");
    String number = input.next();
    if(number.matches("\\d")){
        switch(number){
        case "1":
            addid();
            System.out.println("角色创建成功");
            break;
        case"2":
            showid();
            break;
        case"3":
            boolean alter = altid();
            if(alter==true){
                System.out.println("修改角色成功");
            }else{
                System.out.println("查找角色资料失败");
            }
            break;
        case"4":
            boolean flag = deleteId();
            if(flag==true){
                System.out.println("删除角色成功");
            }else{
                System.out.println("查找不到该角色");
            }
            break;
        case"5":
            System.out.println("该角色已注销");
            System.exit(-1);
            default:
        System.out.println("您的输入有误,请重新输入");
        }
    }
    }
}
//添加角色的方法
public static void addid(){
    System.out.println("请输入角色ID:");
    String idNo = input.next();
    System.out.println("请输入角色昵称:");
    String idName = input.next();
    idNos[idCount] = idNo;
    idNames[idCount] = idName;
    idCount++;
}
//查看角色的方法
public static void showid(){
    System.out.println("角色资料如下:");
    System.out.println("昵称:\t id:\t");
    for(int i=0;i<idNos.length;i++){
        if(idNos[i]!=null && idNames[i]!=null){
            System.out.println(idNames[i]+"\t"+idNos[i]);
        }
    }
}
//修改角色的方法
public static boolean altid(){
    boolean alter = false;
    System.out.println("请输入要修改的的角色的id:");
    String idNo = input.next();
    for(int i=0;i<idCount;i++){
        if(idNo.equals(idNos[i])){
              alter = true;
              System.out.println("该角色昵称为:"+ idNames[i]);
              System.out.println("请输入新的角色昵称:");
              idNames[i] = input.next();
        }
    }       
        return alter;
}
//删除角色的方法
public static boolean deleteId(){
    boolean flag = false;
    System.out.println("请输入要删除的角色的id:");
    String idNo = input.next();
    for(int i=0;i<idNos.length;i++){
        if(idNos[i]!=null && idNo.equals(idNos[i])){
            idNos[i] = null;
            idNames[i] = null;
            flag=true;
                break;

            }
    }
    return flag;
}
//登陆的方法
public static boolean login(){
    boolean flag = false;
    System.out.println("请输入用户名:");
    String un = input.next();
    System.out.println("请输入密码:");
    String pwd = input.next();
    for(int i=0;i<username.length;i++){
        if(username[i]!=null && password[i]!=null){
            if(un.equals(username[i]) && pwd.equals(password[i])){
                flag=true;
                }
            }
    }
    return flag;
}
//注册的方法
public static void register(){
    System.out.println("请输入要注册的用户名:");
    String un = input.next();
    System.out.println("请输入要注册的用户名密码:");
    String pwd = input.next();
    for(int i=0;i<username.length;i++){
        username[i] = un;
        password[i] = pwd;
        break;  
    }
}

}

  • 写回答

2条回答 默认 最新

  • 清墨无痕 2016-08-17 06:50
    关注

    修改角色的:
    //修改角色的方法
    public static boolean altid(){
    boolean alter = false;
    System.out.println("请输入要修改的的角色的id:");
    String idNo = input.next();
    for(int i=0;i<idCount;i++){
    if(idNo.equals(idNos[i])){
    alter = true;
    System.out.println("该角色昵称为:"+ idNames[i]);
    System.out.println("请输入新的角色昵称:");
    idNames[i] = input.next();
    System.out.println("请输入新的角色ID:");
    idNos[i] = input.next();
    return alter;
    }
    }

    return alter;
    }

    用户登录的是 校验的地方写错了,应该是
     if(boo==true){
                        System.out.println("登陆成功,欢迎您");
                        break;
       }
        使用 == 做判断,而不是 = 赋值
    
        ,其次你这个角色添加超过5就有问题,其次所有的用户和觉得都不能唯一,也就是同一个账号或角色可以添加多次,如果你学过HashMap,
    建议你这个做下修改
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 stata安慰剂检验作图但是真实值不出现在图上
  • ¥15 c程序不知道为什么得不到结果
  • ¥40 复杂的限制性的商函数处理
  • ¥15 程序不包含适用于入口点的静态Main方法
  • ¥15 素材场景中光线烘焙后灯光失效
  • ¥15 请教一下各位,为什么我这个没有实现模拟点击
  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题