这是一个读取文件的程序,如果它不存在或为空,它调用一个方法将一个对象添加到ArrayList中,然后调用一个WriteFile方法将该对象写入文件。第一次登录无效,第二次有效
try{
FileReader fr = new FileReader(managerFile);
BufferedReader br = new BufferedReader(fr);
}catch (IOException e){
System.out.println("New System. Register as Manager to start using it.");
manager.add(AddManager());
WriteFile(managerFile, manager);
}
do{
try{
select = Personnel();
switch(select){
case 1:
if(BLogIN(beautician)){
Action(select, Menu(select),customer);
}
else{
Main.main(args);
}
break;
case 2:
if(MLogIN(manager)){
Action(select, Menu(select), customer);
}
else{
Main.main(args);
}
break;
case 3:
break;
default:
System.out.println("Invalid Selection.");
System.out.println("Please choose only from the options above");
System.out.println("");
break;
}
}catch (InputMismatchException e){
}
}while(select < 1 || select > 3);
写入文件后,它调用传递前面的ArrayList这个方法我输入正确的ID和密码,它说无效后处理登录
public static boolean MLogIN(ArrayList<Manager> a){
boolean valid = true;
Scanner scan = new Scanner(System.in);
System.out.print("Enter Manager ID :");
String id = scan.next();
System.out.print("Enter Password :");
String pass = scan.next();
for(int i = 0; i < a.size(); i++){
valid = id.equals(a.get(i).getID());
valid = pass.equals(a.get(i).getPass());
}
return valid;
}
一个登录的方法,但我第二次登录,它是有效的。为什么?
欢迎来到Stack Overflow!你已经在你的问题中发布了很多代码,这使得我们(以及未来的读者)不清楚问题出在哪里。请将您的问题代码减少到10行或更少。请参阅:[如何创建最小,完整和可验证示例](http://stackoverflow.com/help/mcve)和[如何调试小程序](https://ericlippert.com/2014/03/05 /如何调试的小程序/)。 –
我认为你调试你自己的代码会显示比你在这里发布的问题更多的信息。我们无法为您调试您的代码。 –
@JoeC如果我确切地知道问题出在哪里,我甚至不会来这里问。 –