Что я могу сделать, чтобы избежать исключения NullPointerException? - PullRequest
0 голосов
/ 20 августа 2011

Я пытаюсь аутентифицировать пользователя, отправив ключ и случайное число с клиента на сервер.

Мой код не отображает ответ от клиента.Я получаю исключение нулевого указателя при выполнении моего кода, как показано ниже.

import java.io.*;
import java.net.*;
import java.lang.*;

class Client 

{
    public static void main(String args[]) throws IOException
    {

        BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
        System.out.println("enter the key value");
        int key=Integer.parseInt(br.readLine());
        double random=Math.random()*50;
        System.out.println(random);
        int response=key%((int)random);
        System.out.println(key);
        System.out.println("Authentication begins");
        Socket echoSocket = new Socket("localhost", 2000);
        FileOutputStream fout=null;
        DataOutputStream clientout=null;
        clientout.writeDouble(random);
        clientout.writeInt(key);
        clientout.writeInt(response);    
        fout.flush();
        System.out.println("client is"+response);
        echoSocket.close();

    }
}

import java.io.*;
import java.net.*;
import java.lang.*;

class Server
{
    public static void main(String args[]) throws IOException
    {
        int response2;
        double random2;
        int key2;
        FileInputStream fin=null;
        DataInputStream clientin=null;
        ServerSocket s= new ServerSocket(2000);
        Socket echoSocket=s.accept();
        random2=clientin.readDouble();
        key2=clientin.readInt();
        response2=clientin.readInt();
        response2=key2%((int)random2);
        System.out.println("server is"+response2);
        s.close();
        echoSocket.close();
    }
}

1 Ответ

3 голосов
/ 20 августа 2011

Возможные шаги для решения большинства NullPointerException s:

  1. Считать трассировку стека, чтобы определить, какая строка кода выбрасывает NPE
  2. Установить точку останова на этой строке кода
  3. Используя отладчик, при достижении точки останова выясните, какая ссылка на объект в этой строке равна null
  4. Выясните, почему эта ссылка равна null (это единственная фактическая сложная частьпока)
  5. Устранить причину (также потенциально сложную)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...