-希格拉斯- m446043291
一定要努力
关注数: 171 粉丝数: 842 发帖数: 36,675 关注贴吧数: 113
dalao们有人能帮我看一下这些代码到底哪里出错了吗 我写了一段使玩家登录的代码,这个代码是判断管理员设置的玩家账号密码与玩家输入的账号密码是否相同,但是在运行时总是会报错,不知道具体错在哪里了.具体代码如下: //代码1 public class PlayerManager { public PlayerManager() { } player[] players=new player[10]; int xb=0; public PlayerManager(player[] players1) { this.players=players1; } //判断输入的密码与已创建的玩家是否相同 public boolean chkLogin(){ login log =Menu.getloginUI(); String name =log.getLoginname(); String password=log.getPassworld(); boolean b = false; AdminManager ac = new AdminManager(); player ad; for(xb=0;xb<5;xb++){ ad=players[xb]; //这里在运行时报错,22,23行用于获取players(位于AdminManager)中的玩家 //$1这里报错 String name1=ad.getLoginname(); String psw1=ad.getPassworld(); if(name.equals(name1)&&password.equals(psw1)) { b=true; System.out.println("登录成功"); return b; } else{ System.out.println("账号密码错误"); } } return b; } } 这段代码所用到的函数代码如下: //主函数: public class Abgame { player[] players=new player[10]; int xb=0; AdminManager am=new AdminManager(players); PlayerManager pm=new PlayerManager(players); public void addPlayer(player pla) { players[xb]=pla; xb++; } public void start(){ boolean b=true,b2; while(b){ while(b2=true){ int a=Menu.getMainUi(); boolean b1,b3; switch(a){ case 1: System.out.println("玩家登录"); PlayerManager sc=new PlayerManager(); //这里是第二个报错点$2 b3=sc.chkLogin(); if(b3){ System.out.println("玩家登录成功,后面的还没写"); }else{ System.out.println("密码错误"); b2=false; } break; //代码3,这段代码是用来新增玩家 public class AdminManager { player[] players=new player[10]; int xb=0; public AdminManager(player[] players1) { this.players=players1; } public AdminManager() { } public void addPlayer(player pla) { players[xb]=pla; xb++; } public boolean chkLogin(){ switch(a){ case 1: System.out.println("新增玩家:"); boolean b1=true; while(b1){ player pla=PlayerHelper.getPlayer(); addPlayer(pla); Abgame set=new Abgame(); set.addPlayer(pla); System.out.println("1,继续新增玩家"); System.out.println("0,返回上级"); int c =InputHelper.getInt(); if(c==0){ b1=false; break; } } break; //login和player是两个用于输入玩家信息和玩家登录信息的类,里面就是一些get和set就不写了. 运行后写入玩家信息后在玩家登录时,输入账号密码进行判断是时就会报错:Exception in thread "main" java.lang.NullPointerException atcome.lechenggu.abgame.main.PlayerManager.chkLogin(PlayerManager.java:22) //这里就是用于判断玩家登录的函数,报错的行在$1 at come.lechenggu.abgame.main.Abgame.start(Abgame.java:18) //这里是#4主函数代码报错的行在$2 at come.lechenggu.abgame.main.Abgame.main(Abgame.java:61) //同上,不过这里似乎没问题. 刚刚开始学习java,还有很多地方不懂,在这里谢谢大家了
首页 1 2 3 下一页