這是一個讀取文件的程序,如果它不存在或爲空,它調用一個方法將一個對象添加到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如果我確切地知道問題出在哪裏,我甚至不會來這裏問。 –