저는 예금, 인출, 계좌 개설, 잔액 조회가 가능한 은행을 만들고 있습니다.ArrayList 개체 찾기 - 검색이 작동하지 않습니까?
내 createButton 방법은 잘 작동 - 여기
public void createNewAccountButtonPanel(){
//create button
createButton = new JButton("Create New Account");
//Add Listener modeled from InputFrame.Java from GroupProject
class AddCreateNewListener implements ActionListener{
@Override
public void actionPerformed(ActionEvent CreateNew){
//account number has to be 4 digits. Balance has to be 100 or more
if(accountField.getText().trim().length() != 4 || balanceField.getText().trim().length() < 3){
//not correct input, tell the user to enter the correct input
System.out.println("Failed to create a Bank Account!");
textArea.append("Please enter a Account number and a Balance!" + "\n");
}
else
{//read the input
System.out.println("Creating a Bank Account!");
Integer accountNumber = Integer.parseInt(accountField.getText());
Double amount = Double.parseDouble(balanceField.getText());
getBank().createNew(accountNumber, amount);
textArea.append("You created " + getBank().accounts.get(getBank().accounts.size()-1) + " \n");
}
}
}
createNew = new AddCreateNewListener();
createButton.addActionListener(createNew);
}
내 검색 - 그것은 항상 내가 계정을 추가 한 알고있는 경우에도, null를 돌려줍니다 ...
public BankAccount search(Integer accountNumber){
BankAccount found = null;
for(BankAccount a : accounts){
if(a.getAccountNumber() == accountNumber) {
System.out.println("Found the account!");
found = a;
}
else{
System.out.println("The Account Number you entered was not found.");
found = null;
}
}
return found;
}
내가 무엇을 놓치고 ? 이는 또한 입금 및 인출 버튼이 작동하게합니다. 내 모든 디스플레이 계정은 정상적으로 작동합니다.
편집 : 검색 기능이 작동하는 것 같습니다. break
을 추가했습니다. 이제 문제는 GUI의 텍스트 영역에 표시 할 균형을 받고있다 - 계정을 발견
public BankAccount search(Integer accountNumber){
BankAccount found = null;
for(BankAccount a : accounts){
if(a.getAccountNumber().equals(accountNumber)) {
System.out.println("Found the account!");
found = a;
System.out.println("a: " + a);
break;
}
else{
System.out.println("The Account Number you entered was not found.");
found = null;
}
}
return found;
}
'a.getAccountNumber()'의 정확한 반환 유형은 무엇입니까? '정수 '? 'int'? – rgettman
getAccountNumber()는 int를 반환합니다. – user2600585