Erro socket

Boa tarde.

O código esta dando o seguinte erro:

java.lang.ClassNotFoundException: Conta

[code]
import java.io.Serializable;

public class Conta implements Serializable{

private static final long serialVersionUID = 1L;
int x;
int y;
int operacao;
double resultado;

public double getResultado() {
	return resultado;
}

public void setResultado(double resultado) {
	this.resultado = resultado;
}

Conta(int x, int y, int operacao){
	this.x = x;
	this.y = y;
	this.operacao = operacao;
}

public int getX() {
	return x;
}

public int getY() {
	return y;
}

public int getOperacao() {
	return operacao;
}

}[/code]

import java.io.IOException;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.net.Socket;

public class Calculadora implements Runnable {

	Socket cliente;

	Calculadora(Socket cliente) {
		this.cliente = cliente;
	}
	
	public void run() {
		try {
			ObjectInputStream input = new ObjectInputStream(cliente.getInputStream());
            ObjectOutputStream output = new ObjectOutputStream(cliente.getOutputStream());
            Conta conta = (Conta) input.readObject();
			if ((conta.getOperacao() >= 1) || (conta.getOperacao() <= 4))
				switch (conta.getOperacao()) {
				case 1:
					conta.setResultado(conta.getX()+conta.getY());
					output.writeObject(conta);  
					break;
				case 2:
					conta.setResultado(conta.getX()-conta.getY());
					output.writeObject(conta); 
					break;
				case 3:
					conta.setResultado(conta.getX()*conta.getY());
					output.writeObject(conta); 
					break;
				case 4:
					conta.setResultado(conta.getX()/conta.getY());
					output.writeObject(conta); 
					break;
				}
			
			cliente.close();
		
		} catch (IOException e) {
			e.printStackTrace();
		
		} catch (ClassNotFoundException e) {
			e.printStackTrace();
		}
	}
}
import java.net.ServerSocket;
import java.net.Socket;

public class ServerCalculadora {

	public static void main(String[] args) {
		//WorkQueue pool = new WorkQueue(5);
		Socket cliente = null;
		ServerSocket sockServer = null;
		try {
			sockServer = new ServerSocket(3002);
			while (true) {
				cliente = sockServer.accept();
				//pool.execute(new Calculadora(cliente));	
				Calculadora calculadora = new Calculadora(cliente);
				calculadora.run(); // Teste
			}
		} catch (Exception ex) {
			System.err.println(ex);
		}

	}

}

[code]import java.io.*;
import java.net.Socket;

public class ClientMain {

public static void main(String[] args) {
	try{
		Socket sock = new Socket("127.0.0.1", 3002);
		ObjectOutputStream output = new ObjectOutputStream(sock.getOutputStream());  
	    ObjectInputStream input = new ObjectInputStream(sock.getInputStream());  ;
		Conta conta = new Conta(1, 4, 1);
		output.writeObject(conta);
		conta = (Conta) input.readObject();
		sock.close();
	}catch(Exception ex){
		System.err.println(ex);
	}
	
}

}[/code]

Se alguém puder ajudar eu agradeço.

Rode seu programa com “java -cp . ClientMain”

Coloquei a classe do cliente no mesmo projeto do servidor e funcionou.
Só não sei porque.