2014-06-21 36 views
-1

我寫過TCPClient.java和TCPServer.java。 TCPServer將簡單地返回用戶在TCPClient中輸入的反向字符串。例如:如何在使用Java的TCP中的字符串中顛倒順序?

輸入:你好 輸出:2009東海生日賀ereht

現在我想改變字符串中的順序。例如:

輸入:你好 輸出:有你好

下面是我的只有倒車,我該怎麼做,以顛倒順序代碼?

//TCPClient 

package orderreversetcpclient; 

//TCPClient.java 
import java.io.*; 
import java.net.*; 

class OrderReverseTCPClient { 
    public static void main(String argv[]) throws Exception 
    { 
     String sentence; 
     String modifiedSentence; 
     BufferedReader inFromUser = new BufferedReader(new InputStreamReader(System.in)); 
     Socket clientSocket; 
     clientSocket = new Socket("27.147.162.222", 6323); 
     DataOutputStream outToServer = new DataOutputStream(clientSocket.getOutputStream()); 
     BufferedReader inFromServer = new BufferedReader(new InputStreamReader(clientSocket.getInputStream())); 
     sentence = inFromUser.readLine(); 
     outToServer.writeBytes(sentence + '\n'); 
     modifiedSentence = inFromServer.readLine(); 
     System.out.println("FROM SERVER: " + modifiedSentence); 
     clientSocket.close(); 
    } 
} 

// TCPSERVER

package OrderReverseTCPServer; 

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

class TCPServer { 
    public static void main(String argv[]) throws Exception 
    { 
     String clientSentence; 
     //String capitalizedSentence = null; 
     ServerSocket welcomeSocket = new ServerSocket(6333); 
     while(true) { 
     Socket connectionSocket = welcomeSocket.accept(); 
     BufferedReader inFromClient = new BufferedReader(new InputStreamReader(connectionSocket.getInputStream())); 
     DataOutputStream outToClient = new DataOutputStream(connectionSocket.getOutputStream()); 
     clientSentence = inFromClient.readLine(); 
     String sendToClient = new StringBuilder(clientSentence).reverse().toString()+'\n'; 
     outToClient.writeBytes(sendToClient) ; 
     } 
    } 
} 
+1

這個問題可能就一無所有使用TCP做;隔離* actual *問題,改進標題並刪除不相關的標籤。另外,請嘗試搜索「反轉每個單詞」。 – user2864740

+0

http://stackoverflow.com/questions/2441501/reverse-each-word-of-hello-world-in-java – user2864740

+0

這就是字符串的反面。我想扭轉順序。不是每個角色。例如:你好世界將是「世界你好」 –

回答

0

您可以使用成才那樣

public String reverseString(String recievedMessage) { 
    // the simpliest splitting. Think about ".,!?" symbols 
    String[] words = recievedMessage.split(" "); 
    StringBuilder sb = new StringBuilder(); 
    for (int i = words.length - 1; i > 0 ; i--) { 
     // Here space symbol may be enhanced to more difficult cases ".?," 
     sb.append(words[i]).append(" "); 
    } 
    // to delete last space symbol call trim() function. 
    return sb.toString().trim(); 
} 
+0

然後我在outToClient.WriteBytes()中寫什麼? ?? –