Я изучаю Java, теперь я в ArrayList, я написал несколько методов о банковском деле, когда я хочу добавить нового клиента в определенную ветку, позиция всегда возвращает 0. Это исходный код методов, которые яЯ говорю о:
Экземпляры в Главном классе:
public static Scanner scanner = new Scanner(System.in);
public static Bank newBank = new Bank("BMCE");
Основной класс (статический метод добавления нового клиента):
public static void addNewCostumer(){
System.out.println("Choose a branch :");
String branchChoosed = scanner.nextLine();
Branches branches = newBank.queryBranch(branchChoosed);
if(branches == null){
System.out.println("There are a problem, or you are entered a wrong name of branch");
}
else{
System.out.println("Enter the name costumer :");
String nameOfCostumer = scanner.nextLine();
System.out.println("Enter the transaction number :");
double transactions = scanner.nextDouble();
scanner.nextLine();
if(newBank.addNewCostumer(branches,nameOfCostumer,transactions)){
System.out.println("The costumer was created in branch name :"+branches.getNameOfBranch());
}else{
System.out.println("Sorry you dindn't create a costumer in "+branches.getNameOfBranch()+" Try again please :)");
}
}
Экземпляры в классе банка:
private String name;
private ArrayList<Branches> branchesArrayList = new ArrayList<>();
Класс банка:
public boolean addNewCostumer(Branches nameOfExistingBranch,String nameOfNewCostumer,double newTransaction){
int position = findBranch(nameOfExistingBranch);
if(position<0){
System.out.println("There is not branch with this name");
return false;
}
else{
if(this.branchesArrayList.get(position).findCostumer(nameOfNewCostumer)>=0){
System.out.println("You have already an existing costumer with that name");
return false;
}
else{
this.branchesArrayList.get(position).addNewCostumer(nameOfNewCostumer,newTransaction);
return true;
}
}
}
Метод, который находит филиалы:
public int findBranch(Branches branches){
int position = this.branchesArrayList.indexOf(branches);
if(position>=0){
return position;
}
else
return -1;
}
Входные данные:
0-Mdiq
1-Casa
2-Rabat
Когда я добавляю нового клиента в Рабат или филиал Casa, клиент всегда записывает в Mdiq (позиция 0).