一个java难题
下面代码有没错,高手给看看。
编写一个客户/服务器程序qmj,服务器端的功能是计算圆的面积。客户端将圆的半径发送给服务器端,服务器端计算得出的圆面积将发送给客户端,并在客户端显示。
qmjClient:
import java.io.*;
import java.net.*;
public class qmjClient
{
public static void main(String[] args)
{
try
{
Socket socket=new Socket("127.0.0.1",4700);
PrintWriter os=new PrintWriter(socket.getOutputStream());
BufferedReader is=new BufferedReader(new InputStreamReader(socket.getInputStream()));
BufferedReader sin=new BufferedReader(new InputStreamReader(System.in));
String readline;
readline=sin.readLine();
while (!readline.equals("bye"))
{
os.println(readline);
os.flush();
System.out.println("圆的半径:"+readline);
System.out.println("圆的面积:"+is.readLine());
readline=sin.readLine();
}
os.close();
is.close();
socket.close();
}
catch (Exception e)
{
System.out.println("Error:"+e);
}
}
}
qmjServer:
import java.io.*;
import java.net.*;
public class Cx2Server
{
public static void main(String args[]) throws IOException
{
int clientnum=0;
ServerSocket serversocket=null;
try
{
serversocket=new ServerSocket(4700);
}
catch (IOException e)
{
System.out.println("Could not listen on port:4700.");
System.exit(-1);
}
Socket socket=serversocket.accept();
try
{
String line;
BufferedReader is=new BufferedReader(new InputStreamReader(socket.getInputStream()));
PrintWriter os=new PrintWriter(socket.getOutputStream());
BufferedReader sin=new BufferedReader(new InputStreamReader(System.in));
int r;
double mianji;
r=integer.parseint(is.readline);
mianji=3.14*r*r;
while (!line.equals("bye"))
{ os.println(mianjistr);
os.flush();
System.out.println("圆的面积:"+string.valueof(mianji));
System.out.println("圆的半径:"+string.valueof(r));
line=sin.readLine();
}
os.close();
is.close();
}
catch (Exception e)
{
System.out.println("Error:"+e);
}
socket.close();
serversocket.close();
}
}