当前位置: 代码迷 >> Java相关 >> [求助]一个编译错误提示头疼死我了!
  详细解决方案

[求助]一个编译错误提示头疼死我了!

热度:183   发布时间:2006-08-02 23:15:46.0
[求助]一个编译错误提示头疼死我了!

下面这段程序编译总是出错,, 小弟不知道怎么改, 恳请高手帮忙。。
今晚在先等答复
//文件保存名: Server.java
import java.net.*;
import java.io.*;

/** 服务器类 */
public class Server {

private ServerSocket ss; //声明服务器对象;
private Socket socket;//声明客户端对象;
private BufferedReader in;//声明输入流对象;
private PrintWriter out;

/**
* 构造方法
*/
public Server() {

try {

ss = new ServerSocket(10000);//建立一个接口为10000的服务器

while(true) {

socket = ss.accept();//接受客户端
in = new BufferedReader(
new InputStreamReader(socket.getInputStream()));
out = new PrintWriter(socket.getOutputStream(), true);

String line = in.readLine();//存储读取客户端信息

out.println("you input is :" + line);

out.close();
in.close();
socket.close();
}
ss.close();//此处报错 : D:\程序代码\Socket\Server.java:37: unreachable statement
//ss.close();

} catch (IOException e) {

e.printStackTrace();
}
}

public static void main(String[] args) {

new Server();
}
}

搜索更多相关的解决方案: 编译  头疼  提示  

----------------解决方案--------------------------------------------------------

怎么没人啊


----------------解决方案--------------------------------------------------------
没人??。。。。。
----------------解决方案--------------------------------------------------------

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

/** 服务器类 */
public class Server {

private ServerSocket ss; //声明服务器对象;
private Socket socket;//声明客户端对象;
private BufferedReader in;//声明输入流对象;
private PrintWriter out;

/**
* 构造方法
*/
public Server() {

try {

ss = new ServerSocket(10000);//建立一个接口为10000的服务器

while(true) {

socket = ss.accept();//接受客户端
in = new BufferedReader(
new InputStreamReader(socket.getInputStream()));
out = new PrintWriter(socket.getOutputStream(), true);

String line = in.readLine();//存储读取客户端信息

System.out.println("you input is :" + line);

out.close();
in.close();
socket.close();
ss.close();//此处报错
}


} catch (IOException e) {

e.printStackTrace();
}
}

public static void main(String[] args) {

new Server();
}
}

ss对象是在try语句内产生的,在try语句块以外不能访问?是不是这个原因啊!


----------------解决方案--------------------------------------------------------
很感谢楼上的能帮我看...

不过不是这个错误饿...
ss.close() 我包含在Try 块中了。。 我是用JBuilder2005编译的,unreachable statement 编译器提示的错误信息 仅仅是unreachable statement ss.close();
(不能够执行 ss.close() 语句).
----------------解决方案--------------------------------------------------------
unreachable statement
到达不了的地方

你想想你,你把那个语句放在while(true)后面,怎么可能会执行那一句呢
一万年也执行不到那一句啊
因为你在while(true)里面没有跳出的语句.

明白了吗
----------------解决方案--------------------------------------------------------
还是老大厉害,我说的怎么把ss.close();放到while里虽然不报错了,可是程序却不能执行呢!原来没有跳出循环!
----------------解决方案--------------------------------------------------------

恩~明白了..
多谢 千里冰峰,


----------------解决方案--------------------------------------------------------
当程序执行到socket = ss.accept();这句的时候就是在等待客户机的连接,只有客户机连接上了才会执行下面的语句
不知道俺说的对不对,嘿嘿~~献丑了
----------------解决方案--------------------------------------------------------
en ~ 对
是的,, 楼上说的没错.
----------------解决方案--------------------------------------------------------
  相关解决方案