I keep getting this error message, and I've tried many different things to fix it. Can someone tell me what I have wrong? I had "null" after every private variable or method declaration I have on the code, but I even took that off thinking it was the issue but it was not. I have searched for the reason why this might but happening to my code but no luck.
This is a client/server interaction. And the other parts such as Server and BankAccount have no issues.
Exception in thread "main" java.lang.NullPointerException
at Client.(Client.java:64)
at Client.main(Client.java:105)
import java.net.*;
import java.io.*;
import java.io.InputStreamReader;
public class Client
{
// initialize socket and variables
private Socket socket;
private DataInputStream input;
private DataOutputStream output;
BufferedReader br;
BankAccount testAccount = new BankAccount(1000.00);
double wAmount = 150.00;
double dAmount = 200.00;
String num = "0";
// constructor to put IP address and port
public Client(String address, int port)
{
// establish a connection
try
{
socket = new Socket(address, port);
System.out.println("");
System.out.println("---------------------------------------------------------------------");
System.out.println("Connection Sucessful");
System.out.println("---------------------------------------------------------------------");
//once connection is established, bring up banking options
System.out.println("Bank Mode Activated");
System.out.println("Enter the number choice of what you'd like to do:");
System.out.println("1. Withdraw");
System.out.println("2. Deposit");
System.out.println("3. Check Balance");
System.out.println("4. To end the program");
System.out.println("--------------------------------------------------------------------");
// initializes input stream and takes input from terminal
input = new DataInputStream(System.in);
// sends output to the socket
output = new DataOutputStream(socket.getOutputStream());
}
catch(UnknownHostException unKnown)
{
System.out.println(unKnown);
}
catch(IOException except)
{
System.out.println(except);
}
while(!num.equals("4")){
try{
num = br.readLine(); //LINE 64
output.writeUTF(num);
if(num.equals("1")){
testAccount.withdraw(wAmount);
System.out.println("This is the balance after this transaction: $" + testAccount.getBalance());
}
if(num.equals("2")){
testAccount.deposit(dAmount);
System.out.println("This is the balance after this transaction: $" + testAccount.getBalance());
}
if(num.equals("3")){
System.out.println("This is your account balance: $" + testAccount.getBalance());
}
if(num.equals("4")){
System.out.println("Thank you!");
System.out.println("User is finished.");
}
else{
System.out.println("Invalid. Please try again.");
}
} //end of try
catch(IOException i){
System.out.println(i);
}
}
// close the connection
try
{
input.close();
output.close();
socket.close();
}
catch(IOException i)
{
System.out.println(i);
}
}
public static void main(String args[])
{
Client client = new Client("127.0.0.1", 5000); //LINE 105
}
}