Search code examples
databaseauthenticationhashmappasswords

Database is null, cannot complete login page! (HashMap)


This is my database:

public class Database {

    private Map<String, String[]> cardPinMap = new HashMap<>(); 
    
    public void addCardInfo(String name, String cardNumber, String pin, String bal) {
        cardPinMap.put(cardNumber, new String[] { pin, name, bal });
    }
    
    public String getPinByCardNumber(String cardNumber) {
        String[] cardData = cardPinMap.get(cardNumber);
        if (cardData != null) {
            return cardData[0]; // Index 0 corresponds to the PIN
        }
        return null; // Card number not found
    }

}

When I try to add components from my AddUser class via:

Database data = new Database(); data.addCardInfo(nmField.getText(), atmField.getText(), pinField.getText(), balField.getText()); 

And check for pin via this function:

private Database database;  `

public boolean checkPin(String cardNumber, String enteredPin) {       `

String actualPin = database.getPinByCardNumber(cardNumber);         `

return actualPin.equals(enteredPin);   

`}

It says that cardData is null, but I added all of the variables in correctly.

Basically I need the pins to be equal so It could open my home view.

I tried many things but I am stuck and need help, everything seems fine by the code but it does not work.


Solution

  • I fixed it, I only needed to put static in private Map<String, String[]> cardPinMap = new HashMap<>();