30/09/2018, 18:36
Lỗi dấu () và {}
Xin mọi người cho em hỏi em có code:
package DoAn1;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.io.PrintWriter;
import java.net.ServerSocket;
import java.net.Socket;
public class TCPEchoServer {
public final static int DEFAULT_PORT = 5000;
public static void main(String[] args) {
try(ServerSocket servSocket = new ServerSocket(DEFAULT_PORT)){
while (true){
Socket connSocket = servSocket.accept();
System.out.println("Accepted client:" +
connSocket.getInetAddress().getHostAddress());
try(BufferedReader in = new BufferedReader(new
InputStreamReader(connSocket.getInputStream()));
PrintWriter out = new PrintWriter(new
OutputStreamWriter(connSocket.getOutputStream()))
){
String message;
while((message = in.readLine()) != null){
System.out.println("Receive from client:"
+ message);
out.println(message);
out.flush();
}
System.out.println("Client has stopped sending data!");
}
catch (IOException e){
System.out.println(e.getMessage());
}
}
}
catch (IOException e){
System.out.println(e.getMessage());
}
}
}
không hiểu sao chương trình lại báo lỗi một số chỗ ngoặc () và {} sai như hình dưới ạ.
Xin mọi người giả thích hộ em tại sao lại có lỗi này với ạ! Em xin cảm ơn.
Bài liên quan
Xem lại phiên bản JDK >=7
#Format code giúp bạn:
package DoAn1;
#Dễ thấy rằng cách để giúp đỡ người trả lời là phải tự format được code của mình:
package DoAn1;
#Đấy là cách sửa code cho bạn thấy bạn chưa chắc kiến thức về try và format code tuy nhiên cách triển khai code như vậy vẫn chưa tốt.
###Hai vòng try lồng nhau bắt cùng 1 exception gây lãng phí tài nguyên vô cùng. Nguyên tắc là càng ít dùng try càng tốt. Lồng vào nhau thì vạn lần không tốt.
###Get message không cho bạn nhiều thông tin lắm printStackTrace tốt hơn. Vì message là do mình đưa vào khi new Exception. Các exception base thì phải kiểm soát rất nhiều bài toán nên báo lỗi chung chung giống hệt stack trace được print ra hoặc không có báo lỗi. Chỉ có những cái exception customize thì mình mới in message thôi. Và dù dùng message cũng vẫn printStackTrace để có nhiều thông tin hơn.
###getInetAddress() là một nullable method mà bạn không những không thèm check null mà còn cho nó vào one line code thì debug làm sao?
###Bạn không đóng kết nối lại àh?
###Bao giờ thì cái while thứ nhất mới kết thúc?
cảm ơn anh rất nhiều đã nhiệt tình chỉ giúp em ạ.