package kaoshi;import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.BufferedReader;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.net.ServerSocket;
import java.net.Socket;
import java.util.StringTokenizer;public class KSServer
{
private static boolean guan = true;
private ServerSocket sk;
private String str[];
public void go()
{
try
{
sk = new ServerSocket(6666);
}
catch (IOException e1)
{
e1.printStackTrace();
}
while(guan)
{
System.out.print("服务器已启动\n");
Socket skt;
try {
skt = sk.accept();
System.out.print("服务器已经连接用户\n");
BufferedReader br = new BufferedReader(new InputStreamReader(skt.getInputStream()));
PrintWriter pw = new PrintWriter(skt.getOutputStream(),true);
String s = null;
while(( s = br.readLine()) != null)
{
System.out.print(s);
StringTokenizer st = new StringTokenizer(s," ");
int st1 = st.countTokens();
for(int i = 0;i < st1;i++)
{
str[i] = st.nextToken();
}
System.out.print(str[1]);
System.out.print(str[2]);
System.out.print(str[3]);
pw.print(s);
pw.flush();
}
sk.close();
skt.close();
pw.close();
br.close();
} catch (IOException e)
{
e.printStackTrace();
}
}
} public static void main(String args[])
{
KSServer ks = new KSServer();
ks.go();
}
}这是代码 运行正常 但在客户端发送个1 2 3 4后 显示服务器已经连接用户
1 2 3 4Exception in thread "main" java.lang.NullPointerException
at kaoshi.KSServer.go(KSServer.java:48)
at kaoshi.KSServer.main(KSServer.java:74)
为什么会这样?怎么改?
System.out.print(str[1]);
System.out.print(str[2]);
System.out.print(str[3]);都没有起作用拜托高手大人们了~~帮帮小弟~~
import java.io.BufferedOutputStream;
import java.io.BufferedReader;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.net.ServerSocket;
import java.net.Socket;
import java.util.StringTokenizer;public class KSServer
{
private static boolean guan = true;
private ServerSocket sk;
private String str[];
public void go()
{
try
{
sk = new ServerSocket(6666);
}
catch (IOException e1)
{
e1.printStackTrace();
}
while(guan)
{
System.out.print("服务器已启动\n");
Socket skt;
try {
skt = sk.accept();
System.out.print("服务器已经连接用户\n");
BufferedReader br = new BufferedReader(new InputStreamReader(skt.getInputStream()));
PrintWriter pw = new PrintWriter(skt.getOutputStream(),true);
String s = null;
while(( s = br.readLine()) != null)
{
System.out.print(s);
StringTokenizer st = new StringTokenizer(s," ");
int st1 = st.countTokens();
for(int i = 0;i < st1;i++)
{
str[i] = st.nextToken();
}
System.out.print(str[1]);
System.out.print(str[2]);
System.out.print(str[3]);
pw.print(s);
pw.flush();
}
sk.close();
skt.close();
pw.close();
br.close();
} catch (IOException e)
{
e.printStackTrace();
}
}
} public static void main(String args[])
{
KSServer ks = new KSServer();
ks.go();
}
}这是代码 运行正常 但在客户端发送个1 2 3 4后 显示服务器已经连接用户
1 2 3 4Exception in thread "main" java.lang.NullPointerException
at kaoshi.KSServer.go(KSServer.java:48)
at kaoshi.KSServer.main(KSServer.java:74)
为什么会这样?怎么改?
System.out.print(str[1]);
System.out.print(str[2]);
System.out.print(str[3]);都没有起作用拜托高手大人们了~~帮帮小弟~~
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货