2014-09-21 79 views
0

我正在用Java(Java Socket)製作聊天程序,並且正在考慮製作內置命令!舉例來說;你寫「日期」,它會顯示日期!在這裏,我做了一個,但它不工作。它只顯示「其他」的聲音!Java聊天命令

  streamChat = (String) inputdata.readObject();  //Reading the object.. and storing it in a variable... 
      if(streamChat.equals("date")){ 
       Date date = new Date(); 
       showMess("\n " + date); 

      }else{ 
       showMess("\n " + streamChat); 
      } 
+1

什麼是'inputdata'? 'readObject'是做什麼的?你確定你不發送換行符或空格嗎?如果您使用的是TCP,您確定在一次接收中收到整行輸入嗎? – 2014-09-21 08:15:55

回答

0

答案很簡單...我看到streamChat = (String) inputdata.readObject();是從客戶端輸入的。所以只有當客戶發送「日期」時,你纔會得到日期。將if語句移除到輸出區域中的其他位置。

0

這是一個小到少。嘗試trim()你的字符串或包含而不是等於。

streamChat = (String) inputdata.readObject();  
    streamChat = streamChat.trim(); 
    if(streamChat.equals("date")) { ... 

streamChat = (String) inputdata.readObject();  
if(streamChat.contains("date")) { ... 

但正如我說你少的信息提供。你能寫一些關於你如何從用戶那裏獲得輸入的東西嗎?

+0

請舉個例子 – Tor 2014-09-21 08:27:58