You are not setting any values for those variables(name, ID, interestRate, balance) when you create the object. Hence, they are instantiated to 0 or null based on the type. Add this to the main method: String name = \"Jonathan\"; //any value int ID = 22; //any value double interestRate = 10.2; //any value double balance = 100000.0 //any value Hence, your final program should look like this: import java.util.Scanner; public class BankAccount { public BankAccount() { setName(\"\"); setID(0); setBalance(0); setInterestRate(0); } public BankAccount(String name, int ID, double balance, double interestRate) { setName(name); setID(ID); setBalance(balance); setInterestRate(interestRate); } //name private static String name; public void setName (String Name) { this.name = name; } public String getName() { return name; } //ID private static int ID; public void setID (int ID) { this.ID = ID; } public int getID() { return ID; } //balance private static double balance; public void setBalance (double balance) { this.balance = balance; } public double getBalance() { return balance; } //interest rate static double interestRate; public void setInterestRate (double interestrate) { this.interestRate = interestRate; } public double getInterestRate() { return interestRate; } //new account public static void newAccount() { Scanner scan = new Scanner(System.in); System.out.println(\"Hello new bank user!\ \" + \"Welcome to the Bank of Jonathan!\"); //Have user input their name System.out.print(\"Please enter your name: \ \"); name = scan.nextLine(); //An account ID (stored as text) System.out.print(\"Please enter your Bank ID: \ \"); ID = scan.nextInt(); } //my account public static void myAccount() { Scanner scan = new Scanner(System.in); System.out.println(\"Welcome to the Bank of Jonathan!\"); //Have user input their name System.out.print(\"Please enter your name: \ \"); name = scan.nextLine(); //An account ID (stored as text) System.out.print(\"Please enter your Bank ID: \ \"); ID = scan.nextInt(); double myBalance = 10000; balance = myBalance; } // //*Two constructors // //*1)Takes an initial Balance // public BankAccount(String inputName, int inputID, double initialBalance) // { // name = inputName; // ID = inputID; // balance = initialBalance; // // //System.out.println(\"Name: \" // //+ inputName); // //System.out.println(\"The Intial balance is: \" // //+ inputID); // //System.out.println(\"The Intial balance is: \" // //+ initialBalance); // } // // //*2)Opens a new account with no money // // public BankAccount() // // { // // balance = 0.00; // // } //A Deposit Method public static void deposit() { Scanner scan = new Scanner(System.in); System.out.printf(\"How much would you like to deposit?\ \" + \"Enter amount here: $\"); double depositAmount = scan.nextDouble(); while(depositAmount <= 0.00) { System.out.println(\"Invalid deposit amount!\"); System.out.printf(\"How much would you like to deposit?\ \" + \"Enter amount here: $\"); depositAmount = scan.ne.